从Java 9向Process发送信号

时间:2017-02-21 21:59:29

标签: java process signals java-9

我在java 9中听说他们在更新Process API方面做了很多工作。现在是否有更简洁的方法向Java生成的Process发送信号?信号用作触发过程中动作的简单方法。

在我必须使用反射来获取pid然后使用Runtime#exec发送kill命令之前。我假设您仍然需要使用Runtime#exec,因为信号可能取决于操作系统,但如果有人知道比这更好的方法,我很好奇!

Process p = Runtime.getRuntime().exec(...);
...
Runtime.getRuntime().exec("kill -SIGUSR1 " + p.getPid());

1 个答案:

答案 0 :(得分:2)

  

信号可能与操作系统有关

是的,Windows没有与posix操作系统相同的信号。

  

但我很好奇是否有人知道比这更好的方式!

jnr-posix提供了围绕libc的瘦包装,包括kill。