商城首页欢迎来到中国正版软件门户

您的位置:首页 >如何使用nohup命令运行Shell脚本并记录日志

如何使用nohup命令运行Shell脚本并记录日志

  发布于2026-05-02 阅读(0)

扫一扫,手机访问

如何使用nohup命令运行Shell脚本并记录日志

在Linux或Unix系统中,nohup(no hang-up)命令是个非常实用的工具。它允许你在后台运行Shell脚本,而且即便你关闭了终端窗口,甚至断开了SSH连接,脚本也能不受影响地继续执行。这对于需要长时间运行的任务来说,简直是“后台守护神器”。

如何使用nohup命令运行Shell脚本并记录日志

具体怎么操作呢?其实步骤很清晰,跟着下面几步走就行。

第一步:打开终端

这个不用多说,找到你的命令行工具。

第二步:启动脚本并放入后台

假设你要运行的脚本叫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命令来管理后台任务,并且把运行日志妥妥地保存下来,随时查看。这对于服务器运维和自动化脚本执行来说,是个非常基础且高效的操作习惯。

本文转载于:https://www.yisu.com/ask/78578850.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注