位置:首页 > Ruby > CentOS中使用nohup运行Ruby脚本的方法

CentOS中使用nohup运行Ruby脚本的方法

时间:2026-08-17  |  作者:极客少年  |  阅读:0

在CentOS服务器上运行Ruby脚本时,最常见的问题是:终端一关闭,脚本也会随之停止。

nohup命令就是为了解决这个问题。它可以让脚本在后台持续运行,即便断开SSH连接,脚本也不会被中断。

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

基本使用流程

具体操作并不复杂,核心只有几步。

第一步:进入脚本所在目录

先打开终端,用cd命令切换到脚本所在目录。

比如脚本在/home/user/my_script.rb,那就执行:

cd /home/user

第二步:使用nohup启动脚本

进入目录后,用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

如果后续需要管理这个后台进程,比如手动终止它,最好在启动时就捕获进程ID。

可以这样操作:

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

命令中的echo $!会输出刚启动的后台进程的PID。

拿到这个PID后,你就可以用kill命令终止它,或者进行其他管理操作。

总结

整体来看,nohup + 后台运行,是CentOS上管理长时间运行脚本最基础、也最实用的方式。

掌握这些方法后,你就可以更放心地让Ruby脚本在服务器上持续工作。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多