0

嗨,以前我在 Windows 上托管我的应用程序并编写了一个服务来检查 RUNNING_PID 文件,如果该进程不存在,则启动一个新的 shell 并再次启动应用程序。

我目前使用脚本分发应用程序:play clean update dist。所以这会创建我的 .jar 文件和我的启动脚本

但现在我正在尝试在 linux 上设置系统(ubuntu,但如果更容易会改变)。我正计划编写一个 python 脚本来做同样的事情,并让它成为一个 cron 工作来检查它每 15 分钟运行一次。该脚本将检查文件 pid,确保它正在运行,然后启动服务。这是有效的,但是当我为 start: ./start & 启动一个新的子进程时,它会打印出所有的播放输出并等待进程关闭。

有没有更好的方法来为 playframework 创建看门狗类型的服务?

即使我尝试从 shell 运行 ./start & script 它也不会启动新的后台线程。

4

1 回答 1

1

如果崩溃 RUNNING_PID 可能会保留在系统中。更好地观察端口监听器sudo netstat -lpn |grep :9000或将启动脚本的最后一行更改为nohup java $* -cp $classpath play.core.server.NettyServerdirname $0之类的东西> out.txt &,并观察写入 out.txt 的进程lsof | grep "out.txt"

于 2013-05-30T05:30:06.463 回答