父进程

✍ dations ◷ 2025-07-20 11:54:57 #操作系统,进程,计算机科学

在计算机领域,父进程(英语: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)。

相关

  • 全钒氧化还原液流电池全钒氧化还原液流电池,或钒液流电池(Vanadium Redox Battery,缩写:VRB),是一种可充电的液流电池,它采用不同氧化态的钒离子来储存化学势能。 钒氧化还原电池利用钒以四种不同氧化态
  • 大韩民国标准语大韩民国标准语(朝鲜语:대한민국 표준어/大韓民國標準語?),通常简称为标准语(朝鲜语:표준어/標準語?),是韩国使用的标准韩语,被其管理机构——韩国国立国语院定义为“有文化修养的人们
  • 全泌腺腺体的分泌可依据其所含的细胞产物或耗用腺体细胞的多少部分来分类。腺体释出含分泌产物并崩毁整个细胞,此种称为全泌腺(holocrine gland),可释出充满分泌物的整个细胞,例如皮
  • 干衣机干衣机,又称衣物烘干机、烘衣机,通称烘干机,是洗涤机械中的一种,一般在水洗之后,用来除去服装和其他纺织品中的水分。大多数的干衣机包括一个旋转的滚筒,内筒通过皮带驱动,在滚筒的
  • 炮舰战争炮舰战争(Gunboat War)是拿破仑战争期间,一场发生于丹麦-挪威与英国之间的战争。这场战争发生于1807年至1814年间。战争是得名于丹麦在战争中的策略,丹麦雇佣小型炮舰来对抗正规
  • 尼尔·戈萨奇乔治城预备中学(英语:Georgetown Preparatory School)(高中)尼尔·麦吉尔·戈萨奇(英语:Neil McGill Gorsuch,1967年8月29日-)是美国最高法院大法官。他和布雷特·卡瓦诺大法官都是
  • 限滑差速器限滑差速器(英文:Limited Slip Differential,缩写:LSD)是车用差速器的一种高级分类。普通差速器(或可称为开放式差速器)在在一侧车轮打滑或者离地的情况下,会把所有的驱动力传送至空
  • 岩下润岩下润(1973年4月8日-),前日本足球运动员。
  • 大西洋鲭大西洋鲭(学名:、英语:Mackerel)是鲭属的模式种,是一种很常见的可食用鱼类,出没于大西洋的海岸附近,喜群居。本鱼生活在温带及寒带的大陆棚,成群活动,冬季时会游至深水域越冬,春天时游
  • 建筑工程管理建筑工程管理(Construction Management,缩写 CM) ,或营建工程管理(Construction Project Management,缩写 CPM)是专案管理在营建工程(英语:Construction engineering)中的应用.所指的