nohup
(no hang-up)命令用于在Linux和Unix系统中运行不受挂起信号影响的长时任务
-
使用
nohup
命令启动任务:语法:
nohup command &
例如,要运行一个名为
long_running_task.sh
的脚本,可以使用以下命令:nohup ./long_running_task.sh &
这将在后台运行任务,并将输出重定向到名为
nohup.out
的文件。 -
查看任务状态:
使用
ps
命令查看任务的进程ID(PID):ps -ef | grep long_running_task.sh
输出示例:
user 12345 1234 0 08:00 ? 00:00:01 ./long_running_task.sh user 67890 1234 0 08:00 ? 00:00:02 grep --color=auto long_running_task.sh
在这个例子中,
12345
是long_running_task.sh
的进程ID。 -
终止任务:
使用
kill
命令终止任务:kill [PID]
将
[PID]
替换为实际的进程ID。例如,要终止进程ID为12345
的任务,可以使用以下命令:kill 12345
如果任务无法正常终止,可以使用
kill -9
强制终止:kill -9 [PID]
-
重新启动任务:
如果任务意外终止,可以重新使用
nohup
命令启动任务。确保在启动新任务之前检查是否有残留的旧任务。
通过以上方法,您可以使用nohup
命令管理长时间运行的任务。请注意,为了避免意外终止任务,建议在执行任务前创建一个备份,并定期检查任务状态。