如何终止通过nohup在后台运行的bash脚本进程?
终止自动重启的bash脚本方法
pkill nohup无效的原因是nohup仅为启动工具,后台持续运行的实际是执行bash.sh的bash进程,可通过以下方法终止:
方法1:定位PID后手动杀死
- 查找
bash.sh对应的进程信息:
输出中第二列的数字即为进程PID(例如ps aux | grep bash.sh1234)。 - 终止进程:
若进程无法正常退出,使用强制终止命令:kill <PID>kill -9 <PID>
方法2:通过脚本名直接杀死
若系统中无其他同名的bash.sh进程,可直接通过脚本名匹配终止:
pkill -f bash.sh
或使用killall:
killall -f bash.sh
方法3:连带终止forever.py进程
若需同时停止运行中的forever.py,先查找其PID:
ps aux | grep forever.py
杀死对应PID后,再按上述方法终止bash.sh进程即可。
额外建议
如果需要长期稳定托管脚本,推荐使用systemd服务来管理,相比nohup+bash循环,它更便于启停、监控状态,且能自动处理进程崩溃重启的需求。
内容的提问来源于stack exchange,提问作者user2401856
相关产品推荐
相关产品推荐

