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 命令来运行后台进程。