发布于2026-06-30 阅读(0)
扫一扫,手机访问
你有没有遇到过这种情况?在终端里跑一个耗时很长的脚本或程序,小心翼翼等了好久,结果不小心关掉了终端窗口,一切立马中断,之前的努力全白费了。说实话,这种场景在服务器运维、数据处理或者模型训练中太常见了。好在有个老牌神器能帮你解决——nohup(no hang-up),它的核心作用就一句话:让程序在后台稳稳运行,即使你关掉终端、断开 SSH 连接,它也照跑不误。

具体怎么用?下面几个步骤就能上手,全程不需要记复杂参数。
启动一个后台任务
在命令前面加上 nohup,末尾再附上一个 & 符号,任务就会乖乖跑到后台去。比如这样:
nohup ./my_script.sh &
这行命令执行后,终端会返回一个进程 ID(PID),然后你就可以继续做其他事情了。注意,& 是关键,少了它任务还是在前台挂着。
查看后台任务的输出
程序运行时的日志、报错信息都去哪儿了?nohup 默认会把所有输出重定向到当前目录下的 nohup.out 文件中。想实时盯着它看?用 tail -f 就行:
tail -f nohup.out
输出会一屏一屏地滚动,想看停的时候按 Ctrl + C 退出即可,不会影响后台任务本身。
终止一个后台任务
有时候任务跑错了或者想停下来,就得找到它的进程 ID。用 ps aux 配合 grep 搜索:
ps aux | grep my_script.sh
从返回结果中找到对应的进程号(PID,通常是第二列的数字),然后直接干掉它:
kill 12345
把 12345 换成实际的 PID 就行。如果任务比较顽固,可以加个 -9 参数强制结束。
重新启动一个后台任务
需要重启的话,先把之前的进程终止(步骤3),再用 nohup 命令重新启动一遍。操作流程和第一次启动完全一样,没什么玄机。
最后提醒一句:虽然 nohup 能让你放心关掉终端,但如果服务器本身重启了,任务还是会停。对于真正需要长期稳定的任务,建议配合 screen 或 systemd 使用。日常开发或临时跑个数据,nohup 已经足够用了——毕竟它轻量、无依赖,几乎在所有 Linux 系统上都默认可用。
上一篇:nohup后台运行进程如何管理
下一篇:nohup命令日志级别如何设置
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8