我有一个Ruby脚本,我需要在我的Linux机器中一直运行。我试过了nohup ruby ruby.rb&
,但它似乎不起作用。
如何让脚本在后台运行?
答案 0 :(得分:26)
查看screen
这是一个命令行实用程序。从
screen
您将获得一个分离的新shell。用
开始你的脚本ruby whatever.rb
看着它跑。然后按 Ctrl - A Ctrl - D ,您应该回到原始shell。您现在可以离开ssh会话,脚本将继续运行。稍后,登录到您的框并输入
screen -r
你应该回到独立的shell。
如果您多次使用屏幕,则必须通过pid选择不太舒服的屏幕会话。为简化起见,您可以
screen -S worker
开始会话和
screen -r worker
恢复它。
答案 1 :(得分:3)
根据您的需要:
fork do
Process.setsid
sleep 5
puts "In daemon"
end
puts "In control script"
在现实生活中,您将不得不重新打开STDOUT / STDERR。