nohup
(no hang-up)是一个在Unix和Linux系统中用于在后台运行命令的实用程序,即使关闭终端或断开连接,它也能使进程继续运行
nohup command-to-run &
其中,command-to-run
是您要在后台运行的命令,&
表示将命令放入后台执行。
例如,如果您想在后台运行一个名为my_script.sh
的脚本,可以使用以下命令:
nohup ./my_script.sh &
nohup
会将命令的输出发送到名为nohup.out
的文件。如果您想将输出重定向到其他文件,可以使用以下语法:nohup command-to-run > output-file 2>&1 &
其中,output-file
是您希望将输出保存到的文件名。2>&1
表示将标准错误(2)重定向到标准输出(1),这样错误信息也会被保存到output-file
中。
例如,如果您想将输出保存到名为output.log
的文件,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
nohup
运行的后台进程,可以使用ps
命令。例如,要查看与当前用户相关的所有后台进程,可以使用以下命令:ps -u $USER
要查找特定的进程,可以使用grep
命令,例如:
ps -u $USER | grep my_script.sh
nohup
运行的后台进程,首先需要找到进程ID(PID)。可以使用ps
命令查找PID,然后使用kill
命令终止进程。例如:kill -9 PID
其中,PID
是您要终止的进程的进程ID。
总之,nohup
命令是在Linux系统中进行后台任务管理的一种有效方法。通过使用nohup
,您可以确保在关闭终端或断开连接后,后台进程仍然继续运行。同时,您还可以通过输出重定向、查看后台进程和终止后台进程等功能来更好地管理这些任务。