mad_run.erl 934 B

123456789101112131415161718192021
  1. -module(mad_run).
  2. -compile(export_all).
  3. start(App) -> % run_dir > < log_dir
  4. mad:info("Scripting: ~p~n",[escript:script_name()]),
  5. {_,Status,X} = sh:run("run_erl",["-daemon",".",".","exec "++escript:script_name()++" sh"],
  6. binary,".",
  7. [{"RUN_ERL_LOG_GENERATIONS",application:get_env(mad,log_gens,"1000")},
  8. {"RUN_ERL_LOG_MAXSIZE",application:get_env(mad,log_size,"20000000")},
  9. {"ERL_LIBS","apps:deps"}]),
  10. case Status == 0 of
  11. true -> {ok,App};
  12. false -> mad:info("Shell Error: ~s~n",[binary_to_list(X)]), {error,X} end.
  13. attach(_) -> mad:info("to_erl . # run using $(mad stop)~n"), {ok,[]}.
  14. stop(_) -> mad:info("echo 'init:stop().' | to_erl . # run using $(mad stop)~n"), {ok,[]}.
  15. clean(_) -> [ file:delete(X) || X <- filelib:wildcard("{apps,deps}/*/ebin/*.beam") ++
  16. filelib:wildcard("ebin/*.beam")], {ok,[]}.