📜  nohup 输出文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:03:16.262000             🧑  作者: Mango

使用 nohup 命令将程序输出重定向到文件

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 命令将程序在后台运行并将输出重定向到文件,能够很好地解决在终端关闭后程序停止运行的问题,同时也方便我们查看程序输出内容。