nohup命令可使进程在终端退出后继续运行,通过忽略SIGHUP信号实现;基本用法为nohup command &,默认输出日志至nohup.out;可通过> output.log 2>&1 &自定义日志路径;无需日志时可重定向至/dev/null;配合ps、grep、kill等命令管理进程,确保任务稳定执行。

在Linux命令行中,nohup 命令用于让进程在退出终端后依然保持运行。它通过忽略挂起信号(SIGHUP)来实现这一点,是远程服务器上长时间任务执行的常用手段。掌握其使用技巧,能有效提升运维效率和任务稳定性。
基本用法与后台运行
最简单的 nohup 用法是配合 & 符号将命令放入后台执行:
nohup command &
例如启动一个长时间脚本:
执行后,系统会提示输出日志重定向到当前目录下的 nohup.out 文件。即使关闭终端,进程仍继续运行。
自定义输出文件路径
默认输出可能造成混乱,特别是多个任务同时运行时。可以通过重定向标准输出和错误流指定日志文件:
nohup command > output.log 2>&1 &
说明:
> output.log:将标准输出写入指定文件 2>&1:将标准错误合并到标准输出 &:使进程在后台运行
这样便于追踪日志,也方便后续排查问题。
避免输出日志(静默模式)
某些场景下不需要保存输出,比如定时任务或守护进程,可将输出重定向到 /dev/null:
nohup command > /dev/null 2>&1 &
这能防止 nohup.out 文件占用磁盘空间,尤其适合自动化脚本。
结合 ps 和 kill 管理进程
nohup 启动的进程不会自动消失,需手动管理。常用命令包括:
查看进程:ps aux | grep command 结束进程:kill PID(替换为实际进程ID)
也可通过 pgrep 快速查找:
pgrep -f train.py
找到PID后即可安全终止任务。
基本上就这些。合理使用 nohup 能确保关键任务持续运行,配合日志管理和进程监控,可大幅提升操作可靠性。
以上就是Linux命令行中nohup命令的使用技巧的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/193878.html
微信扫一扫
支付宝扫一扫