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)!