推荐答案
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
文件中。