首页 > 编程语言 >Linux使用nohup命令后台运行Shell脚本的方法

Linux使用nohup命令后台运行Shell脚本的方法

来源:互联网 2026-05-09 20:55:13

nohup命令使Linux进程忽略挂断信号,从而在用户退出后持续运行。首先切换到脚本目录并赋予执行权限,然后使用nohup启动脚本并添加&符号使其后台运行,输出默认保存至nohup.out文件。可指定其他输出文件。关闭终端后任务仍继续执行,可通过tail命令查看输出,使用ps和kill命令管理进程。

在Linux系统管理中,我们常常会遇到这样一个需求:启动一个耗时较长的任务,但又不想一直守着终端等待它完成。比如,执行一个数据备份脚本、运行一个模型训练任务,或者启动一个服务。这时候,如果直接关闭终端,任务通常会被中断。有没有办法让任务在后台“默默”地继续运行呢?答案就是 nohup 命令。

Linux使用nohup命令后台运行Shell脚本的方法

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

简单来说,nohup 的作用就是让进程忽略挂断信号(SIGHUP),从而在用户退出登录后依然能够持续运行。下面,我们就来一步步看看如何实际使用它来运行你的Shell脚本。

Linux nohup命令操作步骤详解

第一步:定位脚本文件

首先,打开你的终端。使用 cd 命令切换到存放Shell脚本的目录。举个例子,如果你的脚本放在 /home/user/scripts 这个路径下,就输入:

cd /home/user/scripts

第二步:赋予脚本执行权限

在运行脚本之前,得先确保它有执行的“资格”。使用 ls -l 命令可以查看文件权限。如果脚本还没有可执行权限,运行下面这条命令来添加:

chmod +x script_name.sh

记得把这里的 script_name.sh 替换成你实际的脚本文件名。

第三步:使用nohup启动后台任务

关键步骤来了。使用 nohup 命令来启动脚本,并在命令末尾加上 & 符号,这样它就会在后台运行:

nohup ./script_name.sh &

执行这条命令后,系统会返回一个进程ID(PID),并告诉你任务已经转入后台。默认情况下,脚本的所有输出(包括标准输出和错误输出)都会被重定向到当前目录下一个名叫 nohup.out 的文件里。

如果你希望将输出记录到指定的文件,可以这样操作:

nohup ./script_name.sh > output_file.txt &

这样,输出内容就会保存到 output_file.txt 文件中,方便你后续查看。

第四步:安全断开连接

好了,现在你可以放心地关闭终端窗口,甚至断开SSH连接。之前启动的那个脚本进程不会受到影响,会继续在系统后台执行。

第五步:查看后台任务运行状态与输出

任务跑起来之后,你可能会想看看它进展如何,或者有没有报错。这时候,tail 命令就派上用场了。使用下面的命令可以实时查看输出文件的最后几行内容:

tail -f nohup.out

(如果你指定了其他输出文件,比如上面的 output_file.txt,就把 nohup.out 换成对应的文件名。)

第六步:管理后台进程

如果需要停止这个后台任务,首先得找到它的进程ID。我们可以用 ps 命令配合 grep 来查找:

ps aux | grep script_name.sh

在列出的信息中找到对应的PID,然后使用 kill 命令来结束它:

kill [PID]

[PID] 替换为实际的进程ID数字即可。

掌握了 nohup 的用法,就相当于为你的Linux任务管理增加了一个非常实用的“后台运行”技能。无论是处理日常的自动化脚本,还是部署需要长期运行的服务,它都能让你的工作流程更加灵活和高效。

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

相关攻略

更多

热游推荐

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