前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中如何把程序放到后台执行

Python中如何把程序放到后台执行

作者头像
py3study
发布2020-01-10 16:23:14
1.7K0
发布2020-01-10 16:23:14
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
直接上代码:
[root@MGServer pythonscript]# cat getio.py
#!/usr/bin/env python
#encoding:utf8
import sys,time,os,platform
#定义我自己要在后台运行的程序
def getio():
    while True:
        os.system("/usr/sbin/iotop -n 2 -b -o -k >>/root/iotop.log")
        time.sleep(10)
#fork后台运行进程
def createDaemon():
     # fork进程        
     try:
        if os.fork() > 0:
        os._exit(0)
     except OSError, error:
         print 'fork #1 failed: %d (%s)' % (error.errno, error.strerror)
         os._exit(1)    
     os.chdir('/')
     os.setsid()
     os.umask(0)
     try:
         pid = os.fork()
         if pid > 0:
             print 'Daemon PID %d' % pid
             os._exit(0)
     except OSError, error:
         print 'fork #2 failed: %d (%s)' % (error.errno, error.strerror)
         os._exit(0)
     # 重定向标准IO
     sys.stdout.flush()
     sys.stderr.flush()
     si = file("/dev/null", 'r')
     so = file("/dev/null", 'a+')
     se = file("/dev/null", 'a+', 0)
     os.dup2(si.fileno(), sys.stdin.fileno())
     os.dup2(so.fileno(), sys.stdout.fileno())
     os.dup2(se.fileno(), sys.stderr.fileno())
    # 在子进程中执行代码
     getio()
#执行函数createDaemon
createDaemon()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档