nohup
(no hang-up)命令在 CentOS 系统中用于在后台运行程序,使其不受终端关闭或网络断开的影响。以下是一些使用 nohup
命令的技巧:
基本用法:
nohup command &
这将在后台运行 command
,并将输出重定向到当前目录下的 nohup.out
文件。
指定输出文件: 如果你想将输出重定向到其他文件,可以使用以下命令:
nohup command > output.log 2>&1 &
这将把标准输出和标准错误都重定向到 output.log
文件。
后台运行多个命令:
你可以使用分号(;
)或双与符号(&&
)来连接多个命令:
nohup command1 ; command2 &
或者
nohup command1 && command2 &
这将在后台依次执行 command1
和 command2
。
查看后台进程:
使用 ps
命令可以查看后台运行的进程:
ps aux | grep nohup
这将显示所有包含 “nohup” 的进程。
终止后台进程:
如果你想终止一个后台进程,可以使用 kill
命令。首先,找到进程的 PID(进程ID),然后使用以下命令终止它:
kill PID
如果进程没有响应,可以使用 -9
选项强制终止:
kill -9 PID
使用 nohup
运行脚本:
你也可以使用 nohup
来运行一个脚本文件:
nohup ./script.sh &
这将在后台运行 script.sh
脚本,并将输出重定向到 nohup.out
文件。
忽略挂起信号:
nohup
命令默认会忽略挂起(SIGHUP)信号,这样即使你关闭终端,进程也会继续运行。如果你想显式地忽略挂起信号,可以在命令前加上 disown
:
disown -h %1
这将使进程忽略挂起信号。
总之,nohup
命令是一个非常有用的工具,可以帮助你在 CentOS 系统中在后台运行程序,而不用担心终端关闭或网络断开的影响。