# -*-coding:utf-8-*-
import sys, os
'''将当前进程fork为一个守护进程
注意:如果你的守护进程是由inetd启动的,不要这样做!inetd完成了
所有需要做的事情,包括重定向标准文件描述符,需要做的事情只有
chdir() 和 umask()了
'''
def daemonize(stdin='/dev/null',stdout= '/dev/null', stderr= 'dev/null'):
'''Fork当前进程为守护进程,重定向标准文件描述符
(默认情况下定向到/dev/null)
'''
#Perform first fork.
try:
pid = os.fork()
if pid > 0:
sys.exit(0) #first parent out
except OSError, e:
sys.stderr.write("fork #1 failed: (%d) %s\n" %(e.errno, e.strerror))
sys.exit(1)
#从母体环境脱离
os.chdir("/")
os.umask(0)
os.setsid()
#执行第二次fork
try:
pid = os.fork()
if pid > 0:
sys.exit(0) #second parent out
except OSError, e:
sys.stderr.write("fork #2 failed: (%d) %s]n" %(e.errno,e.strerror))
sys.exit(1)
#进程已经是守护进程了,重定向标准文件描述符
for f in sys.stdout, sys.stderr: f.flush()
si = file(stdin, 'r')
so = file(stdout,'a+')
se = file(stderr,'a+',0)
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
os.dup2(se.fileno(), sys.stderr.fileno())
def _example_main():
'''示例函数:每秒打印一个数字和时间戳'''
import time
sys.stdout.write('Daemon started with pid %d\n' % os.getpid())
sys.stdout.write('Daemon stdout output\n')
sys.stderr.write('Daemon stderr output\n')
c = 0
while True:
sys.stdout.write('%d: %s\n' %(c, time.ctime()))
sys.stdout.flush()
c = c+1
time.sleep(1)
if __name__ == "__main__":
daemonize()
_example_main()
'''
第一个fork是为了让shell返回,同时让你完成setsid(从你的控制终端移除,这样就不会意外地收到信号)。setsid使得这个进程成为“会话领导(session leader)”,即如果这个进程打开任何终端,该终端就会成为此进程的控制终端。我们不需要一个守护进程有任何控制终端,所以我们又fork一次。在第二次fork之后,此进程不再是一个“会话领导”,这样它就能打开任何文件(包括终端)且不会意外地再次获得一个控制终端
另外说明:
umask()函数为进程设置文件模式创建屏蔽字,并返回以前的值
在shell命令行输入:umask 就可知当前文件模式创建屏蔽字
常见的几种umask值是002,022和027,002阻止其他用户写你的文件,022阻止同组成员和其他用户写你的文件,027阻止同组成员写你的文件以及其他用户读写或执行你的文件
rwx-rwx-rwx 代表是777 所有的人都具有权限读写与执行
chmod()改变文件的权限位
int dup(int filedes) 返回新文件描述符一定是当前文件描述符中的最小数值
int dup2(int filedes, int filedes2);这两个函数返回的新文件描述符与参数filedes共享同一个文件表项。
'''
相关推荐:
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
如何选择适合你的AI工具?全面解析AI工具哪个好用
摘要AI生成:高效工作的新时代利器
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
在线AI文章:为您打造全新内容创作体验
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
打造内容创作新时代:有言AI生成助力创作者释放灵感
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
SEO妍:搜索引擎优化的艺术,轻松打造网络营销新未来,辽宁网站建设贵不贵
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
ChatGPT安装包Windows版:让AI助力你的工作与生活,人工智能ai不是梦在线
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
ChatGPT网页版内容显示不全的原因与解决方案,ai超级绘
为什么行业都要做seo,为什么要做seo ,ai明信片
SEO韩国:为您开启国际市场的增长之门,seo文章标题有哪些
怎样用AI写文章?快速高效创作新技能!
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
SEO运营工作是什么,seo公司运营 ,720516AI
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
优化公司:助力企业腾飞的秘密武器,微信营销推广价格多少
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
怎么查一篇文章是不是AI写的?你需要这几个关键方法!
AI提取文章重要内容:让信息抓取更高效、更精准,松鼠ai 教学
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
SEO中权重是什么意思?让你迅速网站排名的核心秘密!,长颈鹿智能AI点读机
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
ChatGPT崩了?用户称打开是一片空白,背后隐藏了什么?,ai 新技巧
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
ChatGPT不登录,如何畅享AI的智能服务?,手信ai
AI自动化:开启智能未来的无限可能,simplify ai
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
了解SEO:让你的网站在搜索引擎中脱颖而出的秘密武器,宝山区常见网站优化
ChatGPT-4中文免费破解版:无需付费,体验最强AI助手,ai写作生成器官方下载
seo营销方法是什么,seo营销模式 ,ai山海
未来智能:AI智能人工软件引领数字化变革
SEO管家:为您的网站保驾护航的智能SEO助手,网站推广作用有哪些类型
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
seo矩阵运营中心是什么,seo矩阵运营中心是什么意思啊 ,北京ai特效
AI+写文章:开启智能创作新时代