从 Java 9 向进程发送信号
Sending a signal to a Process from Java 9
我听说 java 9 他们做了很多工作来更新流程 API。现在有没有一种更简洁的方法可以向 Java 生成的 Process
发送信号?这些信号被用作触发流程中操作的简单方法。
之前我不得不用反射得到一个pid
然后用Runtime#exec
发送kill
命令。我假设你仍然需要使用 Runtime#exec
因为信号可能 OS 依赖,但我很好奇是否有人知道比这更好的方法!
Process p = Runtime.getRuntime().exec(...);
...
Runtime.getRuntime().exec("kill -SIGUSR1 " + p.getPid());
signal may be OS dependant
是的,windows 没有相同意义的信号 posix 操作系统有。
but I'm curious if anyone knows a better way than this!
jnr-posix 提供 libc 的精简包装器,包括 kill。
我听说 java 9 他们做了很多工作来更新流程 API。现在有没有一种更简洁的方法可以向 Java 生成的 Process
发送信号?这些信号被用作触发流程中操作的简单方法。
之前我不得不用反射得到一个pid
然后用Runtime#exec
发送kill
命令。我假设你仍然需要使用 Runtime#exec
因为信号可能 OS 依赖,但我很好奇是否有人知道比这更好的方法!
Process p = Runtime.getRuntime().exec(...);
...
Runtime.getRuntime().exec("kill -SIGUSR1 " + p.getPid());
signal may be OS dependant
是的,windows 没有相同意义的信号 posix 操作系统有。
but I'm curious if anyone knows a better way than this!
jnr-posix 提供 libc 的精简包装器,包括 kill。