又因为连接了终端,所以在终端的输入会影响前台进程组,比如 ctrl+c 发送信号退出进程
技术点
1、使用 posix_setsid()函数设置当前进程为会话首进程
2、当执行php xxx.php 时...,默认系统会把当前的进程设置为会话首进程(使用strace查看),所以当前会话首进程不能使用posix_setsid 创建为会话首进程,只能使用子进程调用此函数
3、当调用此函数后,这个进程会变成组长进程...();
//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