父进程

✍ dations ◷ 2025-08-13 03:11:23 #操作系统,进程,计算机科学

在计算机领域,父进程(英语:Parent Process)指已创建一个或多个子进程的进程。

在UNIX里,除了进程0(即PID=0的交换进程,)以外的所有进程都是由其他进程使用系统调用fork创建的,这里调用fork创建新进程的进程即为父进程,而相对应的为其创建出的进程则为子进程,因而除了进程0以外的进程都只有一个父进程,但一个进程可以有多个子进程。

操作系统内核以进程标识符(,即PID)来识别进程。进程0是系统引导时创建的一个特殊进程,在其调用fork创建出一个子进程(即PID=1的进程1,又称init)后,进程0就转为交换进程(有时也被称为空闲进程(英语:Idle (CPU))),而进程1(init进程)就是系统里其他所有进程的祖先。

当一个子进程结束运行(一般是调用exit(英语:exit (operating system))、运行时发生致命错误或收到终止信号所导致)时,子进程的退出状态(返回值)会回报给操作系统,系统则以SIGCHLD信号将子进程被结束的事件告知父进程,此时子进程的进程控制块(PCB)仍驻留在内存中。一般来说,收到SIGCHLD后,父进程会使用wait系统调用以获取子进程的退出状态,然后内核就可以从内存中释放已结束的子进程的PCB;而如若父进程没有这么做的话,子进程的PCB就会一直驻留在内存中,也即成为僵尸进程。

孤儿进程则是指父进程结束后仍在运行的子进程。在类UNIX系统中,孤儿进程一般会被init进程所“收养”,成为init的子进程。

为避免产生僵尸进程,实际应用中一般采取的方式是:

在Linux内核中,进程和POSIX线程有着相当微小的区别,父进程的定义也与UNIX不尽相同。Linux有两种父进程,分别称为(形式)父进程与实际父进程,对于一个子进程来说,其父进程是在子进程结束时收取SIGCHLD信号的进程,而实际父进程则是在多线程环境里实际创建该子进程的进程。对于普通进程来说,父进程与实际父进程是同一个进程,但对于一个以进程形式存在的POSIX线程,父进程和实际父进程可能是不一样的。

本条目部分或全部内容出自以GFDL授权发布的《自由在线电脑词典》(FOLDOC)。

相关

  • Jocelyn Bell乔丝琳·贝尔·伯奈尔女爵士,DBE,FRS,FRSE,FRAS(英语:Dame Jocelyn Bell Burnell, 1943年7月15日-),出生名苏珊·乔丝琳·贝尔(Susan Jocelyn Bell),英国天体物理学家,出生于贝尔法斯特。
  • dmsup3/sup立方分米,容量计量单位,符号为dm³。1立方分米的容量相当于一个长、宽、高都等于1分米的立方体的体积,与1升的容积相同。1 立方分米 = 1 升立方尧米、立方佑米(Ym3) 立方泽米、
  • 5-HTP5-羟色氨酸(英语:5-Hydroxytryptophan, 5-HTP;INN商品名:oxitriptan)是一种天然的氨基酸代谢中间产物,同时也是神经递质5-羟色胺与褪黑素的生物合成前体。5-羟色氨酸在美英以及加
  • 萍乡市萍乡市是中华人民共和国江西省下辖的地级市,位于江西省西部。市境东北界宜春市,东南邻吉安市,西临湖南省株洲市,北达湖南省长沙市。地处罗霄山脉中段低山丘陵区,武功山绵亘市境中
  • 平均红细胞体积平均红细胞体积(mean corpuscular volume、mean cell volume,简称MCV)是指人体单个红细胞的平均体积,通常是间接计算得到。平均红细胞体积 =
  • 仓库仓库(英语:repository)亦称储存库、资源库、资源库、版本库、代码库、存放库,在版本控制系统中是指在磁盘存储上的数据结构,其中包含了文件、目录以及元数据。仓库可能为分布式(如
  • 紧缩政策紧缩政策(英语:Austerity)是一套政治经济政策,旨在通过削减支出,增加税收或两者结合来减少政府预算赤字。一个国家的政府若发现难以偿还国家债务,便会考虑采用紧缩政策。这些政策
  • 飞棍飞棍,又称天竿鱼(源自日本神秘动物学家并木伸一郎建议的名称“Skyfish”)或螺姿(源自这种生物的英文名称“Rods”)。认为它是地球上一种未知的飞行物体或生物,速度非常快,肉眼不能
  • 阿里·艾哈迈德·赛义德·伊斯比尔阿里·艾哈迈德·赛义德·伊斯比尔(阿拉伯语:علي أحمد سعيد إسبر‎,1930年1月1日-),笔名阿多尼斯(أدونيس‎、Adunis),叙利亚诗人、思想家、文学理论家、翻译家
  • 卡亚·埃德姆伊斯梅特·卡亚·埃德姆(土耳其语:İsmet Kaya Erdem,1928年-),土耳其卡拉比克政治人物,曾担任土耳其财政部长和大国民议会议长。