进程管理-防止进程成为僵尸进程

创建好了进程,那么怎么对子进程进行管理呢?

使用信号,对子进程的管理,一般有两种情况:(推荐学习:PHP编程从入门到精通)

posix_kill():此函数并不能顾名思义,它通过向子进程发送一个信号来操作子进程,在需要要时可以选择给子进程发送进程终止信号来终止子进程;

pcntl_waitpid():等待或返回fork的子进程状态,如果指定的子进程在此函数调用时已经退出(俗称僵尸进程),此函数将立刻返回,并释放子进程的所有系统资源,此进程可以避免子进程变成僵尸进程,造成系统资源浪费;

孤儿进程:父进程挂了,子进程被pid=1的init进程接管(wait/waitpid),直到子进程自身生命周期结束被系统回收资源和父进程 采取相关的回收操作

僵尸进程:子进程exit退出,父进程没有通过wait/waitpid获取子进程状态,子进程占用的进程号等描述资源符还存在,产生危害:例如进程号是有限的,无法释放进程号导致未来可能无进程号可用

**父进程中使用:pcntl_wait或者pcntl_waitpid的目的就是防止worker成为僵尸进程

作用:使用pcntl_wait()后,在子进程死掉后,父进程也会被停止**

最后我们通过下图来简单的总结和描述这个多进程实现的过程:

进程管理-进程间通信

队列:如Redis,推荐

socket:推荐

管道:实现复杂,且管道(pipe),使用文件形式存在,存在硬盘IO性能瓶颈

信号:承载信息量少,不好管理

进程管理-切换为守护进程

使用&实现

php deadloop.php &

php 进程管理,php如何管理进程相关推荐

  1. windows进程管理器_软件进程自动重启一遍又一遍……你需要这款自动杀进程的小公举ProcessKO...

    [PConline 应用]用Windows系统最烦的一件事,就是各种乱七八糟的进程.我们知道软件要运行,就会在后台唤起进程,但这些进程有时候并不那么听话,某些软件会不断唤起进程,对此Windows自带 ...

  2. linux管理子进程c,Linux 进程管理 CGroup

    Cgroups控制cup,内存,io资源示例 http://www.cnblogs.com/yanghuahui/p/3751826.html Docker组成LXC+AUFS  LXC=cgroup ...

  3. PHP 进程的实现与管理

    应用场景 一些耗时任务: 大数据表分表后的统计信息功能 分批发送短信或邮件功能 其他可分目标的任务功能(很多种) 所以我们就需要一个常驻内存的任务管理工具,为了保证实时性,一方面我们让它一直执行任务( ...

  4. 智能手机系统对进程生命周期的管理

    智能机的管理进程跟PC是不一样的,大部分PC爱好者都知道PC的管理进程是PC用户主动管理的 而智能机(Android/iOS/WinPhone)的管理进程是系统层管理进程,在Android2.2版本之 ...

  5. linux 进程管理 ppt,linux操作系统-进程管理和打印管理.ppt

    <linux操作系统-进程管理和打印管理.ppt>由会员分享,可在线阅读,更多相关<linux操作系统-进程管理和打印管理.ppt(25页珍藏版)>请在装配图网上搜索. 1.进 ...

  6. linux进程配置异常中断自动重启_Linux系统配置及服务管理 (四)进程管理

    一.进程简介 进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间: • 安全属性,包括所有权凭据和特权: • 程序代码的一个或多个执行线程: • 进程状态. 程序: 二 ...

  7. Linux内核笔记--内存管理之用户态进程内存分配

    内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你 ...

  8. linux系统编程之进程概念(操作系统---管理,进程创建,进程状态,进程优先级, 环境变量,程序地址空间,进程O(1)调度方法)

    系统编程: 进程概念->进程控制->基础IO->进程间通信->进程信号->多线程 进程概念 冯诺依曼体系结构----现代计算机硬件体系结构 冯诺依曼体系结构----现代计 ...

  9. android 进程管理机制,Android的进程管理机制

    Linux系统对进程的管理方式是一旦进程活动停止,系统就会结束该进程.Android系统虽基于Linux,但在进程管理上,采取了另外一种机制.当当前进程活动停止时,系统并不会立即结束当前进程,而是会将 ...

最新文章

  1. obj c和java_PKCS1-padding / RSA加密ios objc和java之间的区别
  2. Apache/Nigix + Tomcat + 负载均衡
  3. 使用 Eigen 库写第一个程序
  4. 【django】项目准备
  5. 作业调度方案(codevs 1156)
  6. c++中lambda表达式用法
  7. wordpress使用二级域名绑定七牛云存储做图片存储站
  8. 加个ing是什么意思_take的意思竟然是“要求”?奇奇怪怪的熟词僻义打卡终于来了!...
  9. [react] 写出React动态改变class切换组件样式
  10. Linux负载均衡Linux Virtual Server (lvs) 内核自带的负载均衡器
  11. cloud源码-Feign
  12. openstack创建虚拟机
  13. Red Hat Enterprise Linux (RHEL) 6.3 6.4 6.5 DVD ISO 下载地址
  14. c语言程序设计爱心图片,c语言爱心图片表白程序源代码
  15. 基于JAVA的抽奖系统
  16. JavaScript之document对象获取元素
  17. webstorm 光标换行快捷键
  18. PTA L2-003 月饼
  19. 解决打不开 xxx.github.io的万能解决方法
  20. autoconf使用环境

热门文章

  1. 在CentOS 6.3 64bit上安装redis 3.0.3
  2. 多线程中使用mktime和setenv函数
  3. 使用Cumulus和Flash Player搭建视频会议示例
  4. SparkSQL和Hadoop(面向数据科学家和大数据分析师)
  5. CenterNet KeyPoints 关键点训练自己的数据
  6. 几种Normalization算法.md
  7. linux 操作系统级别监控 df 命令
  8. 无序数组及其子序列的相关问题研究
  9. 综合性深入的技术文章-20161103
  10. BZOJ 4009 接水果