# php-task **Repository Path**: gaotiefeng/php-task ## Basic Information - **Project Name**: php-task - **Description**: No description available - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-03 - **Last Updated**: 2021-09-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: PHP, Phpunit ## README # 进程通信IPC ## 理论基础 - 信号量:又称为信号灯、旗语 用来解决进程(线程同步的问题),类似于一把锁,访问前获取锁(获取不到则等待),访问后释放锁。 - 临界资源:每次仅允许一个进程访问的资源。 - 临界区:每个进程中访问临界资源的那段代码叫临界区 - 进程互斥:两个或以上的进程不能同时进入关于同一组共享变量的临界区域,即一个进程正在访问临界资源,另一个进程要想访问必须等待。 - 进程同步主要研究如何确定数个进程之间的执行顺序和避免数据竞争的问题 即,如何让多个进程能一块很好的协作运行 ## 进程通信 - 管道PIPE done - 消息队列 - 共享内存 done - 信号量 比较简单,单功能也比较弱 - 安装信号 pcntl_signal(int $signo, callback $handler,bool $restart_syscalls = false) - 触发信号 pcntl_signal_dispatch(); - 远程过程调用rpc ## 网络通信 - 网络socoket ## 多进程 - 僵尸进程(一个进程已经执行完任务,但父进程没有对子进程进行回收,释放子进程占用的资源) `ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'` - 孤儿进程(指在其父进程执行完成或被终止后仍继续运行的一类进程,孤儿进程没有任何危害)