nohup
nohup:no hang up
译为不挂起,用于在Linux中不挂断的运行命令,终端退出也不会影响。通常与&
配合使用不挂断的运行命令在Linux后台。
语法格式
nohup Command [ Arg ... ] [ & ]
参数说明
Command:要运行的命令。
Arg:运行指定的参数。
&:让命令在后台运行,退出终端后,后台依然运行。
使用
nohup sh test.sh
运行这条命令如果会忽略输入且将命令运行结果输出到当前目录下的nohup.out日志下。且运行当前命令会占用当前终端直到命令运行结束终端才能接受其它输入。
nohup sh test.sh &
这条命令比上条命令多了&
,代表命令会不挂断的在后台运行,后台会有该命令运行进程号并且终端可以接受其它输入。
nohup sh test.sh > test.log 2>&1 &
这条命令代表sh test.sh
的运行结果会重定向到test.log中,包括标准输出(stdout)和错误输出(stderr)。
-
> test.log
代表将sh test.sh
的运行结果重定向到test.log中。 -
2>&1
代表标准错误输出也追加到test.log中。 -
&
代表后台运行。
nohup sh test.sh > /dev/null &
这条命令代表sh test.sh
运行结果将不输出任何日志。/dev/null
表示空设备文件。 如果不想输出任何的日志时,使用此参数 。