让脚本持续运行

让脚本持续运行

我有一个 ruby​​ 脚本和一个 qt 可执行文件。它们几乎都完成相同的任务,但监听不同的端口。基本上,它们是 UDP 套接字服务器,监听我远程 ubuntu 服务器上指定端口上的传入连接。它们监听来自 GPS 设备的 GSM 调制解调器的 UDP 数据包。现在,我可以通过 ssh 进入我的远程服务器并运行 ruby​​ 脚本以开始监听到所述端口的连接:“ruby server.rb”。但是,只要我注销并关闭 ssh 连接,脚本大概就会停止监听。我希望这个脚本继续永远监听该端口上的传入连接,即使在我注销服务器之后。

例如:

sudo netstat -tulpn 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25391/mysqld    

该 mysqld 服务器不断侦听端口 3306 的传入连接。我希望我的脚本也能做同样的事情。我希望能够运行 netstat 并始终看到我的程序在运行并侦听指定端口。

在这种情况下,最好的方法是什么?创建一个守护进程?还是使用 nohup?

答案1

使用一个名为 的程序screen

将其安装在服务器上并运行screen,任何运行的程序都将在服​​务器上保持活动状态。

要安装它,请运行

sudo apt-get install screen

有关其他命令的更多详细信息,请参见此处http://www.kuro5hin.org/story/2004/3/9/16838/14935

相关内容