又因为连接了终端,所以在终端的输入会影响前台进程组,比如 ctrl+c 发送信号退出进程
技术点
1、使用 posix_setsid()函数设置当前进程为会话首进程
2、当执行php xxx.php 时...();
//pid当前进程id ppid 父进程id pgid 会话组id sid 进程的会话id
fprintf(STDOUT,"pid=%d,ppid=%d,pgid=%d,sid...Copy
我们通过截图可以看到,18880是18879的子进程,18880和18879的组ID和会话ID是一样的,因为父进程是当前bash进程的子进程,所以继承了父进程的会话ID,而利用pcntl_fork...ppid 父进程id pgid 会话组id sid 进程的会话id
fprintf(STDOUT,"pid=%d,ppid=%d,pgid=%d,sid=%d\n",$pid,posix_getppid...');
}
show();
while (1){
;
}
PHP
Copy
通过上面截图可以看到,子进程19578的 pgid和sid 都是19578,也就满足上面提到技术点的第三点,将自己设置为组长进程和会话首进程