如何终止 Play Framework 进程?

How to kill a Play Framework process?

我错误地关闭了终端window,我不知道运行播放进程的PID。如何找到它?或者,RUNNING_PID 文件在哪里?

我在非生产模式下使用 Play 2.4.6 和 运行 (activator run)。

使用开发模式(activator run)时,不会生成RUNNING_PID文件。该进程不会分离,并且会在终端关闭时被终止。

默认情况下,RUNNING_PID 文件在使用生产模式时写入 ./target/universal/stage/RUNNING_PID(在项目的根目录中)。

因此,要终止进程(从项目目录),您可以:

$ kill $(cat target/universal/stage/RUNNING_PID)

您还可以更改 configuration 变量 pidfile.path 以将文件写入您想要的任何位置,只要 Play 应用程序具有正确的写入权限即可。

例如:

pidfile.path=/var/run/play.pid

或作为命令行参数(对于暂存二进制文件):

$ target/universal/stage/bin/myapp -Dpidfile.path=/var/run/play.pid

我只想补充一点,Activator(适用于 Play 2.4+)附带一个命令,kill/stop 处理(以一种很好的方式)。

Activator stopProd

这是它的外观截图