在后台运行Ruby脚本

我有一个Ruby脚本,我需要在我的Linux机器中一直运行。 我试过nohup ruby ruby.rb&但它似乎不起作用。

如何让脚本在后台运行?

看看screen是一个命令行实用程序。 启动它

 screen 

你会得到一个新的shell分离。 用那里开始你的脚本

 ruby whatever.rb 

并观看它的运行。 然后按CtrlA CtrlD ,您应该回到原始shell。 您现在可以离开ssh会话,脚本将继续运行。 稍后,登录到您的框并输入

 screen -r 

你应该回到独立的shell。

如果您多次使用屏幕,则必须通过pid选择不太舒服的屏幕会话。 为了简化,你可以做到

 screen -S worker 

开始会议和

 screen -r worker 

恢复它。

根据您的需要:

 fork do Process.setsid sleep 5 puts "In daemon" end puts "In control script" 

在现实生活中,你将不得不重新打开STDOUT / STDERR。