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

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://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ā)
日韩亚洲天堂视频免费观看| 少妇视频资源一区二区三区| 欧美国产精品久久综合| 午夜两性做爰免费视频| 懂色av中文字幕一区| 国产欧美日韩精品一区| 日韩精品高清中文字幕| 日韩一二三四区免费观看| 日本一区二区精品视频| 欧美日韩黄色在线观看| 91精品国内手机在线高清| 日本免费高清一区二区| 周妍希浴室视频色哟哟| 日韩少妇人妻一区二区| 本色啪啪人妻夜嗨嗨av| 国产av超爽剧情系列| 国产亚洲精品一区久久| 国产一区精品在线免费看| 国产婷婷成人久久av免费高清 | 中文字幕乱码亚洲2019| 深夜视频国产在线观看| 99精品人妻一区二区三区蜜桃| 亚洲午夜激情视频在线| 久久久久久狠狠亚洲综合| 成人一区二区三区播放| 久久久人妻精品一区二区三区四区 | 国产男女做爰在线视频| 国产一区二区高清在线| 偷拍一区二区三区免费| 久久国产综合精品电影| 日韩欧美一区二区狠狠插| 99人妻精品一区二区| 国产亚洲欧美精品久久久久| 国产精品乱人偷免费视频| 扒开少妇毛茸茸的大荫萍蒂| 国产三级精品久久三级国专区| 91国内精品手机在线高清| 精品久久人人做爽综合| 国内精品老年人视频网站| 国产精品一区二区三区乱色| 97高清视频在线观看|