终止连接到 erlang 端口的进程

2024-04-19

我想写一个某种主管,我正在尝试实现关闭外部程序的功能。外部进程通过端口连接到 erlang 的代码。我不知道如何通过发送信号或其他任何方式来关闭该程序。关闭端口不是解决方案,因为我已经检查过许多程序不会在 SIGPIPE 上退出。您有任何想法如何去做吗?


您可以使用

{os_pid, OsPid} = erlang:port_info(Port, os_pid). 

获取操作系统中进程的 pid(请参阅http://erlang.org/doc/man/erlang.html#port_info-1 http://erlang.org/doc/man/erlang.html#port_info-1- 我认为你可能需要最新版本的 Erlang 才能包含此内容,我认为 Ubuntu 12.04 上 apt-get 安装的版本不够新,但我知道 R15B02 有它)然后

os:cmd(io_lib:format("kill -9 ~p", [OsPid])).

杀死它(http://erlang.org/doc/man/os.html#cmd-1 http://erlang.org/doc/man/os.html#cmd-1).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

终止连接到 erlang 端口的进程 的相关文章

随机推荐