nohup
是一个用于在后台运行命令的命令,同时防止命令受 SIGHUP 信号的影响。
以下是一些 nohup 命令的详细案例:
1. 在后台运行命令:
nohup command-to-run &
这将以后台方式运行 command-to-run,并将输出重定向到当前目录的 nohup.out 文件中。
2. 指定输出文件:
nohup command-to-run > output.log 2>&1 &
这将以后台方式运行 command-to-run
,并将标准输出和标准错误输出重定向到 output.log
文件中。
3. 后台运行并禁用输出:
nohup command-to-run > /dev/null 2>&1 &
这将以后台方式运行 command-to-run,并将所有输出重定向到 /dev/null,即禁用输出。
4. 在后台运行 Python 脚本:
nohup python script.py &
这将以后台方式运行名为 script.py
的 Python 脚本。
5. 后台运行并保持运行,即使退出终端:
nohup command-to-run &
disown
disown 命令将使命令在后台运行,并且即使关闭终端,它也会继续运行。
6. 后台运行并指定特定输出文件:
nohup command-to-run > custom-output.log 2>&1 &
这将以后台方式运行 command-to-run,并将标准输出和标准错误输出重定向到 custom-output.log 文件中。
7. 在后台运行并指定不同的工作目录:
nohup command-to-run >/dev/null 2>&1 & cd /path/to/directory
这将以后台方式运行 command-to-run,并将所有输出重定向到 /dev/null,然后切换到 /path/to/directory
目录。
8. 后台运行并附加到已有的 nohup 进程:
nohup command-to-run > /dev/null 2>&1 & echo $! >> nohup-pids.txt
这将以后台方式运行 command-to-run,并将其进程ID追加到 nohup-pids.txt 文件中,方便后续跟踪。
注意事项:
- 使用
nohup
命令时,建议将输出重定向到文件,以便后续查看命令的输出。 - 使用
disown
命令可以防止关闭终端时命令被终止。 - 可以使用 ps aux | grep command-to-run 来检查命令是否在后台运行,以及其进程ID。
这些是一些 nohup
命令的常见用法示例。使用 man nohup 命令可以查看更多详细的帮助信息。