Java进程暂停并继续

时间:2013-10-02 17:07:31

标签: java linux windows process suspend

我正在寻找一种能够在Java上实现这一目标的解决方案:

  • 产生一个过程。
  • 暂停它(就像杀死-STOP在Linux中一样)。
  • 继续暂停进程(如Linux中的kill -CONT)。
  • 在运行时读/写标准输入/输出管道。
  • 致力于(至少)Linux和Windows。

据我所知,Java标准只实现了第一个和第四个,但不是第二个实现第三个。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

没有办法从Java“直接”做。

您需要针对Windows / Linux执行某些操作,在每种情况下执行外部程序或调用本机代码。

在Linux上,您可以按照建议使用kill

在Windows上,您可以调用SuspendThread(),也可以启动SysInternals工具'PsSuspend'。有一些信息可以帮到你:

How to pause / resume any external process under Windows?

How to suspend/resume a process in Windows?

如果您希望从Java调用本机代码,JNIWrapper可能会帮助您。

此外,如果您需要生成进程的PID,那么您可能还需要通过本机代码启动,因为Java不会为您提供PID。