在linux机器上分发/托管应用程序

时间:2013-05-28 23:59:06

标签: playframework playframework-2.0

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

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

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

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

即使我试图运行./start&来自shell的脚本它不会启动新的后台线程。

1 个答案:

答案 0 :(得分:1)

如果发生崩溃,RUNNING_PID可能会保留在系统中。最好使用sudo netstat -lpn |grep :9000来监视端口侦听器,或者将最后一行启动脚本更改为nohup java $* -cp $classpath play.core.server.NettyServer dirname $ 0 > out.txt &,并注意使用lsof | grep "out.txt" <将进程写入out.txt / p>

相关问题