自学内容网 自学内容网

nohup使用方法

nohup 是一个用于在 Unix 和类 Unix 操作系统(如 Linux 和 macOS)中运行命令的实用程序,它的全名是 “no hang up”。使用 nohup 命令,可以让程序在你退出终端后仍然继续运行,这对于长时间运行的任务特别有用。

基本用法

语法:

nohup command [arguments] &
command 是你想要执行的命令。
[arguments] 是该命令的参数。
& 符号将命令放在后台执行。

示例:

例如,如果你要在后台运行一个 Python 脚本 script.py,可以使用:

nohup python script.py &

输出:

默认情况下,nohup 会将命令的标准输出和标准错误输出重定向到一个文件 nohup.out,如果这个文件不能被创建,则会输出到 stderr。
如果你想指定输出文件,可以使用重定向:

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

这里,> output.log 将标准输出重定向到 output.log,2>&1 将标准错误输出也重定向到同一个文件。

常用选项

-h:显示帮助信息。
--help:显示帮助信息。

进程管理

使用 jobs 命令查看后台任务:

jobs

使用 ps 命令查看当前运行的进程:

ps aux | grep python

如果需要终止某个进程,可以使用 kill 命令,带上进程的 PID(进程 ID):

kill <PID>

注意事项

环境变量:

某些环境变量(如 SHELL 和 PATH)可能在使用 nohup 后的子进程中不会如预期那样被继承。

终止信号:

nohup 只会忽略 SIGHUP(挂起信号),而不会忽略其他信号(如 SIGTERM)。因此,如果需要终止程序,需要使用相应的信号。

总结

nohup 是一个非常有用的工具,尤其是在运行长时间执行的任务时,确保在你断开会话或退出终端后,程序仍能继续运行。通过将任务放到后台,你可以继续使用终端进行其他操作。


原文地址:https://blog.csdn.net/qq_43420088/article/details/142939626

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!