使用nohup command &可让程序在后台持续运行,如nohup python train.py &,其中nohup防止终端关闭时进程被终止,&将进程放入后台,默认输出重定向至nohup.out;可通过> output.log 2>&1 &自定义输出路径;用jobs或ps aux | grep查看进程,kill PID终止进程;注意权限、日志清理及必要时选用screen/tmux。

在 Linux 中,& 和 nohup 常用于让程序在后台持续运行,尤其适用于远程 SSH 会话中执行长时间任务。单独使用 & 虽可将进程放入后台,但终端关闭后进程仍可能被终止。结合 nohup 可避免这一问题。
基本用法:nohup 与 & 结合
标准语法如下:
nohup command &
例如:
nohup python train.py &
这条命令的作用是:
nohup 捕获 SIGHUP 信号,防止终端关闭时进程被挂起 & 将进程放到后台运行,不占用当前终端 输出默认重定向到当前目录下的 nohup.out 文件
重定向输出
默认情况下,nohup 会将 stdout 和 stderr 合并输出到 nohup.out。你可以自定义输出位置:
nohup python train.py > output.log 2>&1 &
说明:
BibiGPT-哔哔终结者
B站视频总结器-一键总结 音视频内容
28 查看详情
> output.log:标准输出写入 output.log 2>&1:错误输出重定向到标准输出(即也写入 log) &:最后的 & 确保进程在后台运行
查看和管理后台进程
使用 jobs 或 ps 查看运行中的任务:
jobs -l
或查看系统级进程:
ps aux | grep python
如需终止进程,使用 kill:
kill PID
注意事项
常见问题和建议:
确保脚本具有可执行权限或明确调用解释器(如 python、bash) nohup 不保证程序“永不中断”,只是忽略挂起信号,程序自身仍可能出错退出 若需更高级的后台管理,建议使用 screen 或 tmux nohup.out 文件可能持续增长,注意定期清理或重定向到指定日志文件
基本上就这些。合理使用 nohup 配合 &,能有效保障任务在后台稳定运行。
以上就是Linux &与nohup命令结合使用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/419731.html
微信扫一扫
支付宝扫一扫