我正在开发一个打开端口的 ruby 脚本,我正在使用守护进程 gem,它运行良好,但是当我从 ssh 注销时进程 id 被杀死,我怎样才能让这个脚本在关闭我的 ssh 会话后继续运行?
环境
- Ubuntu 12.04
- 红宝石 1.9.3
- 亚马逊 ec2
- 活动机器宝石
- 恶魔宝石
您可以使用该nohup
命令。它代表“不挂断”。尝试做
nohup ruby whatever.rb &
根据我的帖子,我正在使用守护进程 gem,所以我可以以正确的方式控制我的脚本,问题是当我启动守护进程时ruby daemon.rb start
,进程所有者是我的 ssh 用户,所以我的解决方案是更改我的用户和组文件
sudo chown root daemon.rb
sudo chgpr root daemon.rb
现在,为了运行脚本,它必须由 root 用户启动,所以我的脚本在退出 ssh 会话后仍然存在