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 系统中在后台运行程序,而不用担心终端关闭或网络断开的影响。