python守护进程windows_如何把 python predict程序 做成 windows 守护进程
展開全部
import?os,sys,commands,time
def?daemonize(stdin='/dev/null',?stdout='/dev/null',?stderr='/dev/null'):
"""set?daemonize?"""
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(0)
os.setsid()
os.chdir('.')
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(0)
if?not?stderr:?stderr?=?stdout
si?=?file(stdin,?"r")
so?=?file(stdout,?"w+")
se?=?file(stderr,?"a+")
pid?=?str(os.getpid())
print?"start?with?pid?:[%s]"?%?pid
fp?=?open("pid","w")
print?>>?fp,?pid
fp.close()
sys.stderr.flush()
sys.stdout.flush()
sys.stderr.flush()
os.dup2(si.fileno(),?sys.stdin.fileno())
os.dup2(so.fileno(),?sys.stdout.fileno())
os.dup2(se.fileno(),?sys.stderr.fileno())
def?main():
daemonize(stdout='test.log',?stderr='test.log')
cmd?=?"ls"
while?1:
(status,?ret)?=?commands.getstatusoutput(cmd)
print?status
print?ret
time.sleep(10)
if?__name__?==?"__main__":
main()
你可以嘗試e5a48de588b63231313335323631343130323136353331333363376466照這個寫寫,基本的元素都齊了,后臺運行,執(zhí)行shell命令
不過如果只是想要后臺的話,直接shell后臺執(zhí)行一下也就可以了
總結(jié)
以上是生活随笔為你收集整理的python守护进程windows_如何把 python predict程序 做成 windows 守护进程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈泰勒展开
- 下一篇: 公爵多少钱(公爵手表什么档次)