nohup
(no hang-up)命令在 CentOS 中用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。以下是 nohup
命令的基本使用方法:
nohup command [arguments] &
command
:要运行的命令。[arguments]
:传递给命令的参数。&
:将命令放入后台运行。运行一个简单的命令
nohup ls -l &
这个命令会在后台运行 ls -l
,并且即使关闭终端,该命令也会继续运行。
重定向输出
默认情况下,nohup
会将输出重定向到当前目录下的 nohup.out
文件。你可以显式地指定输出文件:
nohup ls -l > output.log 2>&1 &
这个命令会将标准输出和标准错误都重定向到 output.log
文件。
运行一个长时间运行的脚本
假设你有一个名为 long_running_script.sh
的脚本:
nohup ./long_running_script.sh &
这个命令会在后台运行脚本,并且即使关闭终端,脚本也会继续运行。
查看后台进程
你可以使用 ps
命令来查看后台运行的进程:
ps aux | grep nohup
或者使用 jobs
命令查看当前终端的后台作业:
jobs
终止后台进程
如果你需要终止一个后台进程,可以使用 kill
命令。首先找到进程的 PID(进程ID),然后使用 kill
命令终止它:
ps aux | grep nohup
kill -9 <PID>
其中 <PID>
是你要终止的进程的ID。
nohup
命令时,确保你有足够的权限来运行指定的命令。nohup
,确保脚本具有可执行权限:chmod +x long_running_script.sh
systemd
或 supervisord
)来管理后台进程。通过这些方法,你可以在 CentOS 中有效地使用 nohup
命令来运行后台进程。