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

Playframework linux机器上的分发/托管应用程序,playframework,playframework-2.0,Playframework,Playframework 2.0,您好,之前我在windows上托管我的应用程序,并编写了一个服务来检查正在运行的\u PID文件,如果该进程不存在,则启动一个新的shell并再次启动应用程序 目前,我使用以下脚本分发应用程序:play clean update dist。因此,这将创建我的.jar文件和我的启动脚本 但是现在我正在尝试在linux上安装这个系统(ubuntu,但是如果更容易的话会改变)。我计划编写一个python脚本来做同样的事情,并将其作为cron任务,每15分钟检查一次。脚本将检查文件pid,确保它正在运行

您好,之前我在windows上托管我的应用程序,并编写了一个服务来检查正在运行的\u PID文件,如果该进程不存在,则启动一个新的shell并再次启动应用程序

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

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

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


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

在崩溃的情况下,PID可能会保留在系统中。最好使用
sudo netstat-lpn | grep:9000查看端口侦听器,或者将开始脚本的最后一行更改为
nohup java$*-cp$classpath play.core.server.NettyServer
dirname$0
>out.txt&
,并使用
lsof | grep“out.txt”查看写入out.txt的进程

是的,我认为端口侦听器是个好主意,谢谢。不幸的是,尽管这个问题仍然没有导致脚本结束。我希望启动一个不会阻止原始python脚本的进程。但在启动NettyServer命令时,它会锁定python脚本。如果在bash脚本中键入:nohup java$*-cp$classpath play.core.server.NettyServer dirname$0>out.txt&它将锁定当前终端屏幕。我认为,最好参考Python相关文档,了解如何启动新线程。例如。