有没有更好的方法来处理 Java 中的进程,而不是解析任务列表并发送"kill"信号?



我正在寻找一种处理进程的好方法(在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"

最新更新