1、service.py
import os,sys
# 创建子进程
pid = os.fork()
if pid > 0:
sys.exit(0)
pass
# 修改子进程工作目录
os.chdir("/")
# 创建新的会话,子进程成为会话的首进程
os.setsid()
# 修改工作目录的umask
os.umask(0)
# 创建孙子进程,而后子进程退出
pid = os.fork()
if pid > 0:
sys.exit(0)
pass
# 重定向标准输入流、标准输出流、标准错误
sys.stdout.flush()
sys.stderr.flush()
si = open("/dev/null", 'r')
so = open("/dev/null", 'a+')
se = open("/dev/null", 'a+')
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
# 孙子进程内容
print('具体代码')
2、执行代码
nohup python service.py
# 或者
python service.py