python 守护进程类的python脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 守护进程类的python脚本相关的知识,希望对你有一定的参考价值。
class daemonize(object):
def daemonize(self):
self.stdin = '/dev/null'
self.stdout = '/dev/null'
self.stderr = '/dev/null'
try:
pid = os.fork()
if pid > 0:
sys.exit(0)
except OSError, e:
sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror))
sys.exit(1)
os.setsid()
os.umask(0)
try:
pid = os.fork()
if pid > 0:
sys.exit(0)
except OSError, e:
sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror))
sys.exit(1)
sys.stdout.flush()
sys.stderr.flush()
si = file(self.stdin, 'r')
so = file(self.stdout, 'a+')
se = file(self.stderr, 'a+', 0)
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
atexit.register(self.delpid)
pid = str(os.getpid())
f=file(self.pidfile,'w')
f.write("%s\n" % pid)
f.close()
self.pid = pid
以上是关于python 守护进程类的python脚本的主要内容,如果未能解决你的问题,请参考以下文章
Python 守护进程和 systemd 服务
python脚本的守护进程与新贵
Python实例浅谈之五Python守护进程和脚本单例运行
python学习笔记——守护进程
Erlang:守护进程“init.d”脚本无法启动
Python 运行守护程序子进程并读取标准输出