nohup 命令在 CentOS 中用于在用户退出系统后继续运行指定的命令或脚本。其基本语法格式如下:
nohup [选项] [命令] [参数...] &
-h:显示帮助信息。-V:显示版本信息。-c:不使用 shell 执行命令。-n:不重定向标准输入。-p:指定进程的优先级。-u:以指定的用户身份运行命令。-v:显示命令的执行过程。-x:输出调试信息。基本用法:
nohup command [arguments] &
这会在后台运行 command 命令,并将输出重定向到 nohup.out 文件。
指定输出文件:
nohup command [arguments] > output.log 2>&1 &
这会将标准输出和标准错误都重定向到 output.log 文件。
指定用户运行:
nohup -u username command [arguments] &
这会以 username 用户的身份运行命令。
不使用 shell 执行:
nohup -c command [arguments] &
这会直接执行命令,而不通过 shell。
假设你想在后台运行一个 Python 脚本 script.py,并将输出重定向到 output.log 文件:
nohup python3 script.py > output.log 2>&1 &
这样,即使你退出了终端或关闭了 SSH 连接,script.py 也会继续运行,并且输出会被记录在 output.log 文件中。
nohup 命令时,建议将输出重定向到一个文件,以避免输出到终端并丢失。nohup.out 文件。& 将命令放入后台运行。通过这些选项和用法,你可以灵活地使用 nohup 命令来确保命令在用户退出系统后继续运行。