我用 ruby 编写了一个小型 webSocket 服务器。我使用以下命令从命令行运行它:
ruby websocket_server.rb
这将启动服务器并一直工作,直到我保持 ssh 连接打开并运行(我在远程服务器场中的服务器上执行此操作,因此无法直接访问)。我想了解如何编写两个脚本:一个将在启动时启动 ruby 程序,另一个将检查(比如每 30 分钟)程序是否启动并运行。作为旁注,我的最终目标是在 php 仪表板上有一个“按钮”,以便在它挂起时再次启动该过程,而不必等待检查和重新启动过程(我已经能够检查过程状态)。
Ubuntu 14.04 使用upstart,因此您可以编写一个小的配置文件,说明您希望 upstart 如何管理您的服务,例如,您将其命名为“myweb”。使用 sudo 创建一个名为
/etc/init/myweb.conf
(从那里到真实文件的符号链接不起作用)的文件,其内容如下:你可以用
该
status
命令将显示进程是否仍在运行。respawn
说你希望它在死机时自动重启。启动、停止和状态命令都只是到 initctl 的链接。有关conf 文件格式和upstart cookbookman initctl
,请参阅。man 5 init