nohup
(no hang-up)命令用于在后台运行程序,使其不受终端关闭的影响。以下是nohup
命令的一些常用参数及其用法:
基本命令格式:
nohup command [arguments] &
command
:要运行的命令。[arguments]
:传递给命令的参数。&
:将命令放入后台运行。输出重定向:
默认情况下,nohup
会将标准输出和标准错误输出重定向到当前目录下的nohup.out
文件中。你可以显式指定输出文件:
nohup command [arguments] > output.log 2>&1 &
>
:将标准输出重定向到指定文件。2>&1
:将标准错误输出重定向到标准输出(即与标准输出合并)。-c
:不使用shell来执行命令,直接执行命令本身。
nohup -c "your_command_here" &
-p
:指定进程ID文件的路径,用于记录进程ID。
nohup -p /path/to/pidfile command [arguments] &
-v
:显示详细的运行信息。
nohup -v command [arguments] &
-h
或 --help
:显示帮助信息。
nohup --help
简单后台运行:
nohup sleep 3600 &
这个命令会让sleep 3600
在后台运行,即使你关闭终端,它也会继续运行。
输出重定向到特定文件:
nohup myscript.sh > myoutput.log 2>&1 &
这个命令会将myscript.sh
的输出和错误信息都重定向到myoutput.log
文件中。
使用-c
参数:
nohup -c "echo Hello, World!" &
这个命令会直接执行echo Hello, World!
,而不需要一个单独的脚本文件。
指定进程ID文件:
nohup -p /var/run/myprocess.pid myscript.sh &
这个命令会将进程ID写入到/var/run/myprocess.pid
文件中。
通过这些参数,你可以更灵活地控制nohup
命令的行为,确保你的后台任务在各种情况下都能稳定运行。