我正在寻找一种处理进程的好方法(在Windows中,但可能也在Linux中)。
有没有纯java解决方案?
或者至少是一个完成所有解析的跨平台库?
我需要:
- 查看程序是否正在运行
- 向它发送"关闭"信号(而不是终止)
- 开始吧(这可能是我唯一解决的问题)
我找到的所有解决方案都说我应该在Windows中解析任务列表。
但这真是令人头疼。
有人做过这样的事吗?
在linux上:jps
将为您提供一个仅运行Java进程的列表,包括所有进程的pid或ps -aux | grep '<program name or part of program name>
,然后您可以使用kill -15 <pid>
来终止,这会发出正常的关闭信号。
如果你不确定kill-15的作用,请查看这个链接。
在windows上:taskkill /pid <pid> or taskkill /im app.exe
将正常地向正在运行的pid发送关闭信号。jps
对窗口也有效,对于所有进程,您都可以使用try TASKLIST /fi "imagename eq <app>.exe"