推荐答案
nohup 命令用于在后台运行程序,并且忽略挂起信号(SIGHUP)。即使终端关闭,使用 nohup 启动的程序也会继续运行。通常与 & 结合使用,将程序放入后台执行。
本题详细解读
1. nohup 的基本用法
nohup 命令的基本语法如下:
nohup command [arguments] &
command:要执行的命令或脚本。arguments:传递给命令的参数。&:将命令放入后台执行。
2. nohup 的输出
默认情况下,nohup 会将命令的输出重定向到当前目录下的 nohup.out 文件中。如果当前目录不可写,则会重定向到 ~/nohup.out。
你可以通过重定向输出到其他文件来改变默认行为:
nohup command > output.log 2>&1 &
> output.log:将标准输出重定向到output.log文件。2>&1:将标准错误输出重定向到标准输出,即也写入output.log。
3. nohup 的常见用途
- 长时间运行的任务:当你需要运行一个长时间的任务,并且不希望它因为终端关闭而中断时,可以使用
nohup。 - 后台任务:当你希望将任务放入后台执行,并且不需要与终端交互时,可以使用
nohup。
4. 示例
假设你有一个脚本 long_running_script.sh,你希望它在后台运行,并且即使关闭终端也不会中断:
nohup ./long_running_script.sh > script_output.log 2>&1 &
这个命令会将 long_running_script.sh 放入后台执行,并将输出和错误信息都写入 script_output.log 文件中。