欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python如何創(chuàng)建守護(hù)進(jìn)程-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)Python 如何創(chuàng)建守護(hù)進(jìn)程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)重慶免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

守護(hù)進(jìn)程就是Daemon程序,是一種在系統(tǒng)后臺(tái)執(zhí)行的程序,它獨(dú)立于控制終端并且執(zhí)行一些周期任務(wù)或觸發(fā)事件,通常被命名為"d"字母結(jié)尾,如常見的httpd、syslogd、systemd和dockerd等。

代碼實(shí)現(xiàn)

python可以很簡(jiǎn)潔地實(shí)現(xiàn)守護(hù)進(jìn)程,下面先給出代碼和相應(yīng)注釋:

# coding=utf8
import os
import sys
import atexit
 
 
def daemonize(pid_file=None):
  """
  創(chuàng)建守護(hù)進(jìn)程
  :param pid_file: 保存進(jìn)程id的文件
  :return:
  """
  # 從父進(jìn)程fork一個(gè)子進(jìn)程出來(lái)
  pid = os.fork()
  # 子進(jìn)程的pid一定為0,父進(jìn)程大于0
  if pid:
    # 退出父進(jìn)程,sys.exit()方法比os._exit()方法會(huì)多執(zhí)行一些刷新緩沖工作
    sys.exit(0)
 
  # 子進(jìn)程默認(rèn)繼承父進(jìn)程的工作目錄,最好是變更到根目錄,否則回影響文件系統(tǒng)的卸載
  os.chdir('/')
  # 子進(jìn)程默認(rèn)繼承父進(jìn)程的umask(文件權(quán)限掩碼),重設(shè)為0(完全控制),以免影響程序讀寫文件
  os.umask(0)
  # 讓子進(jìn)程成為新的會(huì)話組長(zhǎng)和進(jìn)程組長(zhǎng)
  os.setsid()
 
  # 注意了,這里是第2次fork,也就是子進(jìn)程的子進(jìn)程,我們把它叫為孫子進(jìn)程
  _pid = os.fork()
  if _pid:
    # 退出子進(jìn)程
    sys.exit(0)
 
  # 此時(shí),孫子進(jìn)程已經(jīng)是守護(hù)進(jìn)程了,接下來(lái)重定向標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤的描述符(是重定向而不是關(guān)閉, 這樣可以避免程序在 print 的時(shí)候出錯(cuò))
 
  # 刷新緩沖區(qū)先,小心使得萬(wàn)年船
  sys.stdout.flush()
  sys.stderr.flush()
 
  # dup2函數(shù)原子化地關(guān)閉和復(fù)制文件描述符,重定向到/dev/nul,即丟棄所有輸入輸出
  with open('/dev/null') as read_null, open('/dev/null', 'w') as write_null:
    os.dup2(read_null.fileno(), sys.stdin.fileno())
    os.dup2(write_null.fileno(), sys.stdout.fileno())
    os.dup2(write_null.fileno(), sys.stderr.fileno())
 
  # 寫入pid文件
  if pid_file:
    with open(pid_file, 'w+') as f:
      f.write(str(os.getpid()))
    # 注冊(cè)退出函數(shù),進(jìn)程異常退出時(shí)移除pid文件
    atexit.register(os.remove, pid_file)

當(dāng)前文章:Python如何創(chuàng)建守護(hù)進(jìn)程-創(chuàng)新互聯(lián)
文章路徑:http://www.aaarwkj.com/article40/dgogeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、虛擬主機(jī)網(wǎng)站改版、搜索引擎優(yōu)化網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
中文字幕日韩精品亚洲精品| 秋霞日韩欧美一区二区三区 | 欧美三级特黄在线播放| 91免费福利激情视频| 99久久伊人精品综合观看| 天天干天天干夜夜操| 精品人妻少妇av一区二区| 蜜臀av一区二区高清| 色哟哟网站在线精品视频| 亚洲视一区二区三区四区| 国产精品国产三级国av中文| 美女午夜精品国产福利| 伊人欧美一区二区三区| 日本日本熟妇在线视频| 中文字幕人妻熟人妻熟丝| 国内熟妇人妻色在线三级| 人妻少妇系列一区二区| 国内一级黄色片免费观看| 亚洲人妻一区二区三区久久精品| 日本岛国大片一区二区在线观看 | 精品人妻少妇一区二区三区| 视频精品一区二区在线观看| 青青草原在线视频观看| 99热精品成人免费观看| 亚洲欧美午夜福利视频| 亚洲一区二区视频在线播放| 日韩视频专区一区二区| 日本中文字幕一区二区视频| 亚洲欧美制服另类国产| 美国一级二级三级黄片| 国产综合一区二区三区视频| 丰满少妇一区二区自拍区| 中国一区二区三区毛片| 日韩不卡区免费在线观看| 久久人妻一区二区三区免费| 亚洲精品香蕉久久情趣| 蜜臀在线免费观看av| 国产高清学生三级一区二区| 日韩不卡高清免费在线视频| 日韩av手机在线不卡| 日本不卡一区二区在线视频|