nohup 命令用于在后台运行程序,即使关闭终端后,程序也会继续运行。& 符号用于将命令放入后台执行。将 nohup 与 & 结合使用,可以确保程序在后台稳定运行,即使终端关闭也不会中断。
以下是 nohup 命令与 & 符号结合使用的技巧:
基本用法:
nohup your_command &
这会将 your_command 放入后台运行,并且忽略挂起信号(SIGHUP),即使终端关闭,程序也会继续运行。
输出重定向:
默认情况下,nohup 会将输出重定向到 nohup.out 文件。如果你想将输出重定向到其他文件,可以使用以下语法:
nohup your_command > output.log 2>&1 &
这会将标准输出和标准错误都重定向到 output.log 文件。
后台运行多个命令:
如果你想同时运行多个命令,可以将它们放在一个脚本中,然后使用 nohup 和 & 运行该脚本:
nohup bash -c 'command1; command2' &
这会依次执行 command1 和 command2,并将它们的输出重定向到 nohup.out。
查看后台进程:
你可以使用 jobs 命令查看当前终端的后台进程,或者使用 ps 命令查看所有后台进程:
jobs
ps aux | grep your_command
终止后台进程:
如果你需要终止一个后台进程,可以使用 kill 命令。首先找到进程的 PID,然后使用 kill 命令终止它:
ps aux | grep your_command
kill -9 PID
其中 PID 是进程的进程 ID。
通过这些技巧,你可以更有效地使用 nohup 和 & 符号来管理后台进程,确保程序在后台稳定运行。