【神奇的 Linux】启动后台保持运行的进程

开始

文件描述符

  • 0 stdin 标准输入
  • 1 stdout 标准输出
  • 2 stderr 标准错误

重定向

echo "test" > temp.txt  # > 会覆盖已存在的文件
echo "test" >> temp.txt  # >> 会以累加的方式输出到文件
python hello.py < input.in  # 重定向到输入
python hello.py > output.out # 重定向到输出
python hello.py 2> error.err  # 重定向到错误输出
python hello.py 2>stderr.txt  1>stdout.txt # 输出分离 
python hello.py > output.txt 2>&1  # 输出合并 
python hello.py 2 > /dev/null  # 任何数据都会被丢弃到垃圾桶(位桶/黑洞)
python hello.py >/dev/null 2>&1  # 标准输出和标准错误 

进入正题

单一个& 是不够的,因为是终端启动的进程,那么该进程的父进程就是终端,所以终端关闭,子进程随着关闭。所以要用到 nohup 将进程的父进程设置为1的 init 进程 。

nohup python hello.py > out.log 2>&1 &

雾霾天 等风来

    原文作者:清醒的cola
    原文地址: https://www.jianshu.com/p/8e12425a08d8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞