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

具体怎么操作?其实流程很简单,核心就几步。
第一步,打开终端,用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上管理长时间运行脚本最基础也是最实用的方式。掌握了这些,你就可以放心地让脚本在服务器上持续工作了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8