您的位置:首页 >如何使用nohup命令运行Shell脚本并记录日志
发布于2026-05-02 阅读(0)
扫一扫,手机访问
在Linux或Unix系统中,nohup(no hang-up)命令是个非常实用的工具。它允许你在后台运行Shell脚本,而且即便你关闭了终端窗口,甚至断开了SSH连接,脚本也能不受影响地继续执行。这对于需要长时间运行的任务来说,简直是“后台守护神器”。

具体怎么操作呢?其实步骤很清晰,跟着下面几步走就行。
这个不用多说,找到你的命令行工具。
假设你要运行的脚本叫script.sh,基础命令格式是这样的:
nohup ./script.sh &
注意命令末尾的&符号,它的作用就是把这个任务放到后台去运行,这样你的终端就能立刻恢复可用,不用干等着。
默认情况下,nohup会把脚本的所有输出(包括你打印的信息和错误)都重定向到一个叫nohup.out的文件里。但如果你想指定一个更明确的日志文件名,比如output.log,可以这样写:
nohup ./script.sh > output.log &
这就把标准输出(stdout)保存到你指定的文件了。
有时候,你不仅想看正常的输出,还想把错误信息(stderr)也一并记录下来,方便排查问题。这时就需要用到下面这个经典写法:
nohup ./script.sh > output.log 2>&1 &
这个命令的意思是:把标准输出和标准错误都重定向到同一个output.log文件里。这样一来,日志文件就完整了。
脚本在后台跑起来了,怎么确认它还在运行,或者查看它的进程ID呢?用ps命令配合grep过滤一下就行:
ps -ef | grep script.sh
从返回结果里,你就能找到对应的进程ID(PID)。
当任务完成,或者你需要中途停止它时,就用kill命令。先用上一步找到的PID,然后执行:
kill [PID]
记得把[PID]替换成实际的数字。这样,进程就会被优雅地终止。
按照以上步骤操作,你就能轻松地使用nohup命令来管理后台任务,并且把运行日志妥妥地保存下来,随时查看。这对于服务器运维和自动化脚本执行来说,是个非常基础且高效的操作习惯。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9