前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 命令 | nohup

Linux 命令 | nohup

作者头像
小林C语言
发布2023-11-09 14:24:30
3620
发布2023-11-09 14:24:30
举报

作者

林一

白天搬砖,晚上做梦。我有故事,你有酒么?

Linux 命令 nohup 命令解析

nohup 是一个在 Linux/Unix 系统中常用的命令,它的作用是在后台运行一个命令或脚本,并且不会因为终端的关闭而终止。换句话说,使用 nohup 运行的命令或脚本会忽略挂起(HUP)信号,即忽略终端关闭的信号。

nohup 的一般形式如下:

代码语言:javascript
复制
nohup 命令的一般形式:nohup command_name &。


nohup 是命令本身。
command_name 是你要在后台运行的命令或脚本的名称。
& 是用来将命令放在后台运行的符号。

如果你想在后台运行一个名为 my_script.py 的 Python 脚本,可以使用以下命令:

nohup python3 my_script.py &

这将在后台运行 my_script.py,并且输出会被重定向到一个名为 nohup.out 的文件。

为方便读者理解,林一写个具体的 demo:

代码语言:javascript
复制
假设你有一个需要长时间运行的脚本 my_script.sh,
并且你希望在睡觉期间让它继续运行。

你可以使用以下命令:nohup ./my_script.sh &

这将在后台运行 my_script.sh,并且输出会被重定向到 nohup.out 文件。即使你关闭终端或退出登录,脚本也会继续运行。

在上述 demo 中,使用了 ./my_script.sh 来运行脚本。这是因为在该目录下直接运行脚本可以避免因为路径问题导致的错误。& 符号将命令放在后台运行,这样你就可以关闭终端而不会影响脚本的运行。

Linux 命令 nohup 命令注意事项

使用 nohup 运行的命令或脚本在默认情况下会忽略挂起信号,但如果你想在终端关闭时收到通知,可以使用 -n 参数。

在使用 nohup 时,最好将输出重定向到一个文件,这样可以避免输出被写入多个文件而导致的混乱。

如果你的脚本需要接收输入或使用管道将输出发送到另一个命令,那么这些操作不会在后台执行,

在这种情况下,你可以使用 -p 参数来将输入或输出重定向到一个文件。例如,使用 nohup -p ./my_script.sh < input.txt & 将从 input.txt 中读取输入

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档