nohup
(no hang-up)是一个在Linux和Unix系统中用于在后台运行命令的实用程序,即使用户退出系统或关闭终端,它也能使进程继续运行
基本用法:
要使用nohup
命令,只需在要运行的命令前加上nohup
,并在命令后添加&
符号。例如:
nohup your_command &
这将在后台运行your_command
,并将输出重定向到名为nohup.out
的文件。
输出重定向:
默认情况下,nohup
会将输出重定向到nohup.out
文件。如果要将输出重定向到其他文件,可以使用以下语法:
nohup your_command > output_file &
如果要将标准输出和标准错误都重定向到同一个文件,可以使用以下语法:
nohup your_command > output_file 2>&1 &
查看后台任务:
使用jobs
命令查看当前终端会话中的后台任务。例如:
jobs
要查看所有用户的后台任务,可以使用ps
命令。例如:
ps aux | grep your_command
终止后台任务:
要终止后台任务,首先需要找到任务的进程ID(PID)。可以使用ps
或pgrep
命令查找PID。例如:
ps aux | grep your_command
或
pgrep your_command
找到PID后,使用kill
命令终止任务。例如:
kill PID
如果任务无法正常终止,可以使用kill -9
强制终止:
kill -9 PID
重新连接到后台任务:
如果需要在后台任务完成后重新连接,可以使用screen
或tmux
等终端复用器。这些工具允许您创建多个终端会话,并在需要时重新连接。
总之,nohup
命令是在Linux后台管理任务的有用工具。通过将输出重定向到文件、查看后台任务以及终止任务,您可以更有效地控制后台进程。