nohup(no hang-up)是一个在Unix和Linux系统中用于运行命令的实用程序,它可以使进程忽略挂起(SIGHUP)信号。这样,即使关闭终端或断开连接,进程也会继续运行。以下是如何使用nohup命令管理长时间运行的任务的步骤:
打开终端。
输入nohup命令,后跟你想要运行的命令。例如,如果你想要运行一个名为my_script.sh的脚本,你可以输入:
nohup ./my_script.sh &
这里的&符号表示将命令放入后台运行。
按Enter键执行命令。nohup会自动创建一个名为nohup.out的文件,用于存储命令的输出。如果该文件已存在,nohup会将输出追加到现有文件中。
若要检查命令的输出,可以使用tail命令实时查看nohup.out文件的内容:
tail -f nohup.out
ps命令结合grep命令来查找:ps aux | grep my_script.sh
这将显示与my_script.sh相关的进程信息。在输出中找到PID(通常位于第二列)。
kill命令终止进程:kill PID
将PID替换为实际的进程ID。
kill -9命令:kill -9 PID
将PID替换为实际的进程ID。
通过以上步骤,你可以使用nohup命令管理长时间运行的任务。请注意,为了避免意外关闭或系统重启导致的数据丢失,建议在执行重要任务时使用nohup命令。