首页 > 编程语言 >Linux nohup命令:让程序后台运行不中断

Linux nohup命令:让程序后台运行不中断

来源:互联网 2026-07-19 07:57:08

nohup命令可让程序忽略挂起信号,在后台持续运行,即使关闭终端或断开SSH连接也不会中断。基本用法为nohupcommand&,支持重定向输出至指定文件。通过ps命令检查进程,用kill-9终止。需确保运行权限及输出目录写入权限。

你肯定遇到过这种情况:在服务器上跑着一个耗时很长的任务,结果不小心关掉了终端窗口,或者SSH连接断开了,一切前功尽弃。这时候,nohup 就是你的救星。它的全称是 "no hang-up",直译过来就是“不挂断”——让程序在后台安安静静地跑,哪怕你退出登录,它也照样干自己的活。

Linux nohup命令:让程序后台运行不中断

长期稳定更新的攒劲资源: >>>点此立即查看<<<

基本用法

用起来其实很简单,就一行命令的事。

  1. 运行命令并忽略挂起信号:

    nohup command &
    • command 就是你想运行的程序或脚本。
    • & 符号把命令丢到后台,这样你就能继续干别的事了。
  2. 重定向输出:默认情况下,nohup 会把标准输出和标准错误输出都扔进一个叫 nohup.out 的文件里。如果你不想用这个名字,也可以自己指定输出文件:

    nohup command > output.log 2>&1 &
    • > 把标准输出重定向到 output.log
    • 2>&1 把标准错误输出也送到同一个地方,也就是 output.log。这样日志就干干净净地集中在一起了。

示例

举个例子,假设你有个 Python 脚本 script.py 要跑,希望输出记录到 script_output.log 里:

nohup python script.py > script_output.log 2>&1 &

搞定,脚本就在后台默默运行了,你可以安心关掉终端,甚至下班回家。

检查进程状态

怎么知道它还在不在跑?用 ps 命令查一下:

ps aux | grep script.py

如果看到对应的进程,说明它还在兢兢业业地工作。

终止进程

哪天想让它停下来,找到它的进程ID(PID),然后送一个 kill 信号:

kill -9 

-9 是 SIGKILL,强制终止,不给它任何反抗的机会。

注意事项

  • 用了 nohup 的程序会一直运行,直到它自己结束或者你手动杀掉它。
  • 如果在SSH会话里运行 nohup 命令,即使关闭SSH连接,程序也不会停止——这正是它存在的意义。
  • 确保你有足够的权限运行命令,并且有权限写入输出文件所在的目录,否则会报错。

掌握了这些,你就可以放心地把那些耗时任务交给 nohup,再也不用担心终端关闭带来的麻烦了。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备2026025700号-3 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。