专栏中心

EEPW首页 > 专栏 > 父子进程PID的区别

父子进程PID的区别

发布人:0750long 时间:2010-02-06 来源:工程师 发布文章
父子进程PID的区别

 

父进程执行fork()之后会返回两次,对于子进程,得到的是0(但0不代表子进程的PID);而对于父进程,得到却是子进程的pid。这样根据得到不同的pid,就可以执行不同的程序。并且子进程继承了父进程的数据段和代码段。请执行ps -aux查看父子进程PID。


#include <unistd.h>
#include <signal.h>
#include <stdio.h>
 
int main(void)
{
        pid_t           pid;
        int             stat;
 
        pid = fork();
        if(pid < 0)
{
                perror("fork");
                return 1;
        }
/*子进程*/
        else if(pid == 0)
{
                printf("Child process:%d\n", getpid());
                sleep(10);
                while(1);
        }
/*父进程*/
        else
{
printf("Parent process:%d\n", getpid());
 
                printf("Send kill signal to child process (%d)\n", pid);
                sleep(1);
                kill(pid, SIGKILL);
                wait(&stat);
                if(WIFSIGNALED(stat))
{//<sys/wait.h>定义的检查wait和waitpid所返回的 终止状态的宏,其中:WIFSIGNALED(stat),如果是异常终止子进程返回的状态则为真,WTERMSIG(stat)取使自3进程异常终止的信号编号。
                        printf("Child process received signal (%d).\n", WTERMSIG(stat));
                }
        }
 
        return 0;
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

鹏鲲量子科技算法驱动决策:AI技术如何革新传统代运营模式

智能计算 2026-01-19

51控制RTL8019AS网卡的相关资料

传三星将采用长江存储专利混合键合技术:用于400+层的第10代V-NAND闪存

电子科技大学--嵌入式系统应用开发技术13

512KBSRAM HM628512的pdf文档

电子科技大学--嵌入式系统应用开发技术11

视频 2009-05-05

信息技术应用创新专业人员(ITP)人才培养专项座谈会成功举办

智能计算 2026-01-19

电子科技大学--嵌入式系统应用开发技术15

羽乐科技荣获新金融联盟“卓越价值贡献奖”,以数据智能赋能金融业高质量发展

智能计算 2026-01-19

深圳AI工业赛道添新力!深圳市诚世凯科技有限公司获200万天使轮融资

智能计算 2026-01-19

财经观察:缺核心技术,印度新能源电池计划放缓

消息称飞书将推出首款硬件,与安克协作打造“AI录音豆”

电子科技大学--嵌入式系统应用开发技术14

62256 32K字节的8位数据宽度的ram

终极3D集成,将颠覆未来的GPU

网络与存储 2026-01-19

双向可控硅实现调光技术细节

模拟技术 2026-01-19

4N35_4N36_4N37光电偶合器件

6N138 6N139 高倍率达灵顿光藕合IC

电子科技大学--嵌入式系统应用开发技术12

智能航线升级!相机视场角航线拍照点,思翼科技发布UniGCS v3.0

国际视野 2026-01-19
更多 培训课堂
更多 焦点
更多 视频

技术专区