如何在Java中向子进程发送信号?

时间:2012-05-04 09:21:21

标签: java process

java.lang.Process有一个名为destroy()的方法。该文件说:

  

此Process对象表示的子进程被强制终止。

我想知道在调用destroy()时发送了哪个信号?

我正在使用Linux。

2 个答案:

答案 0 :(得分:3)

我假设'在调用destroy时发送了哪个信号?'你指的是实际的系统调用。 (我不能评论你的主要问题,但要求你确认)

在快速浏览ProcessBuilder的OpenJDK实现源之后,我发现实际调用最终成为本机调用...(好吧没有!!:p)

从适当的方法审核本地来源后:

  • Windows:TerminateProcess((HANDLE)句柄,1);
  • UNIX:kill(pid,SIGTERM);

希望有所帮助!

答案 1 :(得分:1)

从谷歌搜索它表明使用了SIGTERM。我找不到这方面的参考,但似乎是合理的。