商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在CentOS中使用nohup运行Ruby脚本

如何在CentOS中使用nohup运行Ruby脚本

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

先说说最常见的场景吧:在CentOS服务器上跑Ruby脚本,最怕的就是终端一关,脚本也跟着停了。nohup命令正是为了解决这个痛点而生的——它能让脚本在后台持续运行,即便你断开SSH连接,它也不会被中断。

如何在CentOS中使用nohup运行Ruby脚本

具体怎么操作?其实流程很简单,核心就几步。

第一步,打开终端,用cd命令切到脚本所在目录。比如脚本在/home/user/my_script.rb,那就跑:

cd /home/user

第二步,用nohup启动脚本,记得加上&符号把它放到后台:

nohup ruby my_script.rb &

这个&是关键,它让脚本在后台默默运行,不会占用当前终端进程。

默认情况下,nohup会把脚本的输出写入当前目录下的nohup.out文件。如果你希望把输出指向其他位置,可以这样写:

nohup ruby my_script.rb > output.log 2>&1 &

这里2>&1表示将标准错误输出也合并到标准输出中,一起写入output.log。这样日志收集更方便,排查问题时也更清晰。

按回车执行后,脚本就进入后台运行状态了。此时可以直接关闭终端,或者断开SSH连接,脚本不会受影响。

想实时查看运行日志?用tail命令即可:

tail -f nohup.out

-f参数会持续跟踪文件的新增内容,效果类似实时日志流。

还有一个实用技巧:如果你需要后续管理这个后台进程(比如手动终止它),最好在启动时就捕获进程ID。可以这样操作:

nohup ruby my_script.rb > output.log 2>&1 & echo $!

命令中的echo $!会输出刚启动的后台进程的PID。拿到这个PID后,你就可以用kill命令来终止它,或者用它做其他管理操作。

整体来看,nohup + 后台运行 是CentOS上管理长时间运行脚本最基础也是最实用的方式。掌握了这些,你就可以放心地让脚本在服务器上持续工作了。

本文转载于:https://www.yisu.com/ask/14511811.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注