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
命令管理长时间运行的任务。请注意,为了避免意外终止任务,建议在执行任务前创建一个备份,并定期检查任务状态。