システムプロセスを開始して破壊したい。エリクシルのシステムプロセスを開始して破壊する
私はプロセスを開始するために、System.cmd "my_app", []
を使用できますが、アプリケーションのPIDを返さず、破棄(強制終了)できません。
Elixirには、子プロセスを管理する方法はありますか?
システムプロセスを開始して破壊したい。エリクシルのシステムプロセスを開始して破壊する
私はプロセスを開始するために、System.cmd "my_app", []
を使用できますが、アプリケーションのPIDを返さず、破棄(強制終了)できません。
Elixirには、子プロセスを管理する方法はありますか?
代わりのSystem.cmd
、あなたが使用することができます。
port = Port.open({:spawn_executable "my_app"}, [{:args, args}, :stream, :binary, :exit_status, :hide, :use_stdio, :stderr_to_stdout])
をあなたはその後、{:os_pid, pid} = Port.info(port, :os_pid)
を行うことによって、プロセスのPIDを取得することができますし、System.cmd("kill #{pid}")
を使用してプロセスを強制終了することができます。
ほとんどの人はエリクサーコミュニティ
に使用するものです Porcelainもあります