温馨提示×

如何正确使用nohup在Debian上运行程序

小樊
31
2025-12-24 11:30:42
栏目: 智能运维

nohup(no hang-up)是一个在Linux和Unix系统上用于在后台运行命令的实用程序,即使关闭终端或断开SSH连接,它也能确保程序继续运行

  1. 打开终端。

  2. 使用cd命令导航到包含要运行的程序的目录。

  3. 使用nohup命令运行程序。基本语法如下:

nohup command-to-run &

其中,command-to-run是您要运行的程序或脚本,&符号将程序放入后台运行。

例如,如果您要运行名为my_script.sh的脚本,可以使用以下命令:

nohup ./my_script.sh &
  1. nohup命令会将程序的输出重定向到一个名为nohup.out的文件中。您可以使用以下命令查看输出:
cat nohup.out
  1. 若要将输出重定向到其他文件,可以使用以下命令:
nohup command-to-run > output-file.txt &

例如,要将输出保存到名为output.txt的文件中,可以使用以下命令:

nohup ./my_script.sh > output.txt &
  1. 若要在程序运行时实时查看输出,可以使用tail命令:
tail -f nohup.out
  1. 若要在程序运行时将错误输出重定向到不同的文件,可以使用以下命令:
nohup command-to-run > output-file.txt 2> error-file.txt &

例如,要将标准输出保存到output.txt文件中,将错误输出保存到error.txt文件中,可以使用以下命令:

nohup ./my_script.sh > output.txt 2> error.txt &

现在,即使您关闭终端或断开SSH连接,程序也会继续在后台运行。要停止程序,可以使用ps命令找到进程ID(PID),然后使用kill命令终止进程:

ps aux | grep my_script.sh
kill PID

PID替换为您要终止的进程的实际进程ID。

0