python实现的守护进程(Daemon)用法实例

yipeiwu_com6年前Python基础

本文实例讲述了python实现的守护进程(Daemon)用法。分享给大家供大家参考。具体如下:

def createDaemon():
  "'Funzione che crea un demone per eseguire un determinato programma…"'
  import os
  # create - fork 1
  try:
    if os.fork() > 0: os._exit(0) # exit father…
  except OSError, error:
    print 'fork #1 failed: %d (%s)' % (error.errno, error.strerror)
    os._exit(1)
  # it separates the son from the father
  os.chdir('/')
  os.setsid()
  os.umask(0)
  # create - fork 2
  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(1)
  funzioneDemo() # function demo
def funzioneDemo():
  import time
  fd = open('/tmp/demone.log', 'w')
  while True:
    fd.write(time.ctime()+'\n')
    fd.flush()
    time.sleep(2)
  fd.close()
if __name__ == '__main__':
  createDaemon()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python实现 版本号对比功能的实例代码

下面先给大家介绍python实现版本号对比功能,具体内容如下所示: 相同位置版本号大小比较: def abc(str1, str2): if str1 == "" or str2...

Django发送html邮件的方法

本文实例讲述了Django发送html邮件的方法。分享给大家供大家参考。具体如下: 在Django中,发送邮件非常的方便,一直没有时间,今天来做一个小小的总结吧。 我们常用的当然是通过s...

python 列表删除所有指定元素的方法

如下所示: a = [1,1,1,2,3,45,1,2,1] a.remove(1) result: [1,1,2,3,45,1,2,1] while 1 in a: a.rem...

在pycharm中配置Anaconda以及pip源配置详解

在学习推荐系统、机器学习、数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情。 现在有个工具——anaconda,他已经帮我们集成好了很...

python3+PyQt5重新实现自定义数据拖放处理

python3+PyQt5重新实现自定义数据拖放处理

本文分成两部分,第一部分通过python3+PyQt5实现自定义数据的拖放操作。第二部分则对第一部分的程序进行修改,增加拖放操作时,菜单提示是否移动或拷贝,还有可以通过ctrl键盘来设置...