📅  最后修改于: 2023-12-03 15:03:16.262000             🧑  作者: Mango
nohup
命令可以将程序在后台运行,并且将输出内容重定向到文件,避免在终端关闭后程序停止运行。
nohup command > output.file 2>&1 &
其中,command 为要运行的命令,output.file 为要输出的文件名。
2>&1 表示同时将标准错误输出重定向到标准输出,& 表示在后台运行命令。
假设有一个 python 程序 test.py
如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
for i in range(10):
print("Hello, World!")
time.sleep(1)
我们可以使用 nohup
命令将其在后台运行,并将输出重定向到文件 output.txt
:
nohup python test.py > output.txt 2>&1 &
运行命令后,程序将在后台运行,同时在当前目录下创建文件 output.txt
,将程序输出内容写入其中。
要结束程序的运行,可以使用以下命令:
ps -ef | grep test.py # 找到程序进程的PID
kill PID # 结束程序运行
其中,PID 为程序进程的 PID。
使用 nohup
命令将程序在后台运行并将输出重定向到文件,能够很好地解决在终端关闭后程序停止运行的问题,同时也方便我们查看程序输出内容。