当前位置: 首页 > news >正文

自己做网站 发布视频铁岭做网站信息

自己做网站 发布视频,铁岭做网站信息,mitao wordpress,富蕴县建设局网站【一】僵尸进程和孤儿进程 【1】引入 我们知道在unix/linux中#xff0c;正常情况下#xff0c;子进程是通过父进程创建的#xff0c;子进程在创建新的进程。 子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它…【一】僵尸进程和孤儿进程 【1】引入 我们知道在unix/linux中正常情况下子进程是通过父进程创建的子进程在创建新的进程。 子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。 【2】僵尸进程 1什么是僵尸进程 僵尸进程是指完成自己的任务之后没有被父进程回收资源 例如开了一个pycharm --- 将 pycharm 关闭 -- 任务管理器所有的关于 pycharm 的进程应该都被关闭但是有时候会发现有某几个 pycharm 进程任然在后台运行 -- 本来这部分资源应该被回收结果因为还在运行占用系统资源 2解决办法 因此UNⅨ提供了一种机制可以保证父进程可以在任意时刻获取子进程结束时的状态信息 在每个进程退出的时候内核释放该进程所有的资源包括打开的文件占用的内存等。 但是仍然为其保留一定的信息包括进程号the process ID退出状态the termination status of the process运行时间the amount of CPU time taken by the process等 直到父进程通过wait / waitpid来取时才释放. 但这样就导致了问题如果进程不调用wait / waitpid的话那么保留的那段信息就不会释放其进程号就会一直被占用但是系统所能使用的进程号是有限的 如果大量的产生僵死进程将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害应当避免。 任何一个子进程(init除外)在exit()之后并非马上就消失掉而是留下一个称为僵尸进程(Zombie)的数据结构等待父进程处理。 这是每个子进程在结束时都要经过的阶段。 如果子进程在exit()之后父进程没有来得及处理这时用ps命令就能看到子进程的状态是“Z”。 如果父进程能及时 处理可能用ps命令就来不及看到子进程的僵尸状态但这并不等于子进程不经过僵尸状态。 如果父进程在子进程结束之前退出则子进程将由init接管。 init将会以父进程的身份对僵尸状态的子进程进行处理。 3示例 import multiprocessing import time ​ ​ def work(name):print(f{name} is starting ...)time.sleep(2)print(f{name} is ending ...\n) ​ ​ def main():for i in range(3):task multiprocessing.Process(targetwork,args(ftask_{i},))task.start() ​ ​ if __name__ __main__:print(fmain process starting ...)main()print(fmain process ending ...) ​ ​ # main process starting ... # main process ending ... # task_0 is starting ... # task_1 is starting ... # task_2 is starting ... # task_0 is ending ... # task_1 is ending ... # task_2 is ending ... 【3】孤儿进程 1什么是孤儿进程 孤儿进程是指父进程在子进程终止之前就退出了 例如在没有关闭共享屏幕的前提下直接退出腾旭会议这时共享屏幕也会退出不会还挂在后台 在主程序死亡以后因为子进程就没有办法再和主进程通信。就像是有一个福利院 init进程 会接管这些没有父亲的孤儿如果最后没有人来领取吗就把所有子线程杀死 2示例 import os import sys import time ​ ​ if __name__ __main__:pid os.getpid()ppid os.getppid()print(父进程,pid:,pid,ppid:,ppid)pid os.fork()# 执行pidos.fork()则会生成一个子进程# 返回值pid有两种值# 如果返回的pid值为0表示在子进程中# 如果返回的pid值0,表示在父进程中if pid 0:print(父进程终止)sys.exit(0)# 保证主线程退出完毕time.sleep(1)print(我是子进程,os.getpid(),os.getppid()) 【4】僵尸进程和孤儿进程谁的危害性更大 僵尸进程的危害性更大因为僵尸进程一直会持续存在在后台占用资源孤儿进程会因为主进程的死亡然后有init进程接管并销毁 例如有个进程它定期的产 生一个子进程这个子进程需要做的事情很少做完它该做的事情之后就退出了因此这个子进程的生命周期很短但是 父进程只管生成新的子进程至于子进程 退出之后的事情则一概不闻不问这样的话系统运行一段后就会存在很多僵尸进程如果实在Linux中的话可以使用ps命令查看就可以看到很多状态为Z的进程 严格来说僵尸进程并不是问题的根源罪魁祸首是产生大量僵尸进程的父进程因此当我们需要消灭系统中大量的僵尸进程时最好的办法就是将制造的元凶干掉也就是通过kill发送SIGTERM或者SIFKILL信号如此的话由他产生的僵尸进程就变成了孤儿进程就会被init接管然后wait()这些孤儿进程即释放了 【二】守护进程 【1】什么是守护进程 守护进程时一种特殊的进程只要系统不关机就会一直存在 它们通常不与用户直接交互也不接受标准输入和输出而是在后台执行某种任务或提供某种服务。 守护进程往往是由系统管理员手动启动的它们可以在系统启动时自动启动一直运行在后台直到系统关闭或被停止而且不需要用户交互有较高的权限因此编写守护进程需要注意安全性和稳定性 常见的守护进程包括网络服务如web服务器、邮件服务器、ftp服务器、日志记录系统 例如安装一个MySQL服务TCP服务端关机会导致服务端关闭MySQL服务加一个守护进程只要系统不关机MySQL服务就会一直在后台运行除非主动杀死 示例 from multiprocessing import Process import time ​ ​ def task(name):print(f皇太妃 :{name}正常存活)time.sleep(2)print(f皇太妃 :{name}正常死亡) ​ ​ if __name__ __main__:print(f皇帝 : ChiMeng 执掌江山)p Process(targettask, args(dream,)) ​p.start() ​print(f皇帝 : ChiMeng 寿终正寝)# 主进程结束子进程未结束# 皇帝 : ChiMeng 执掌江山 # 皇帝 : ChiMeng 寿终正寝 # 皇太妃 :dream正常存活 # 皇太妃 :dream正常死亡
http://www.hkea.cn/news/14406991/

相关文章:

  • 在哪查网站备案中国域名的管理机构是
  • 建手机网站价格thinkphp与wordpress
  • 北仑网站建设成都 直播 网站建设
  • 免费的个人空间建网站小程序建站哪家好
  • 建一个网站的手机电脑南宁网站建设产品介绍
  • 深圳网站推广网站运营解决方案
  • 开一个素材设计网站怎么做视频制作软件免费版
  • 宁津华企动力做网站的电话多少北京网站备案代理
  • wordpress注册邮件问题搜索引擎排名优化价格
  • 广东专业网站定制高端旅游网站制作
  • 建设工程信息服务平台新网站家乡网站建设策划案
  • 注册网站流程镜像网站怎么做排名
  • 做设计太依赖网站素材中国建设银行安徽省 招聘信息网站
  • php网站开发设计系统网页制作设计框架
  • 做网站设计的论文中摘要怎么写wordpress 放弃react
  • 阿里云备案成功怎么建设网站明月wordpress
  • 中国常用网站网址网站怎么做身份验证
  • 天津建设培训中心网站回老家做PHP网站
  • 菏泽哪家网站设计公司好福州seo公司
  • 网站设计公司费用wordpress视频背景
  • 高大上 网站上海青浦做网站
  • 建设银行网站登录如何转账网络营销seo是什么意思
  • ftp免费注册网站东莞自媒体运营推广公司
  • 禅城区电话黄页seo怎么做排名
  • 深圳网站的优化公司制作人韩剧在线观看免费高清国语
  • 彩票理财网站建设网站建站一本通
  • wordpress 批量删除所有文章重庆企业网站seo
  • 自己做网站打开很卡商机网创业好项目
  • 网站 设计报价企业网站形象建设
  • 网站备案 二级域名全球十大建筑设计公司