父进程

✍ dations ◷ 2025-10-03 19:32:37 #操作系统,进程,计算机科学

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

相关

  • 咳嗽药止咳药是指治疗咳嗽的药品,通常为片状(亦有含化的)、溶液和混悬液。部分止咳水含有可待因或麻黄碱,过量服用会使人产生欣快感,故被滥用者称为摇头水),泛指用于止咳的所有药水,包括医
  • 字体排印学字体排印学(英语:typography)又称为文字设计,是通过排版使得文字易认、可读和优美的技艺。排版,即安排活字的方式,包括字体与字号的选取、栏宽与行高的设定以及字距的调整等。在西
  • 逃逸速度宇宙速度(英语:cosmic velocity),是指物体从地球出发,要脱离天体重力场的四个较有代表性的初始速度的统称。计算宇宙速度的基本公式如下:航天器按其任务的不同,需要达到这四个宇宙
  • 结构因子在凝聚态物理学和晶体学中,静态结构因子(或简称结构因子)是一种描述材料如何散射入射波的数学表示形式。结构因子在描述X射线、电子衍射和中子衍射实验获得的干涉图样时特别有
  • 杂食性杂食性是指吃植物、动物的一类的动物,这类动物什么都能吃,它们不用依靠单一类型的食物如植物或动物来维持生命,却可以只进食单一类型的食物来维持生命,因此对周遭环境有着较强的
  • 王仙芝王仙芝(?-878年),濮州(今河南范县)人,唐末民变领袖。王仙芝早年以贩私盐为业,唐僖宗乾符二年(875年),因连年饥旱,仙芝与尚君长、柴存、毕师铎、曹师雄、柳彦璋、刘汉宏、李重霸等三千余饥
  • 验尿尿液分析,又称为尿常规,是针对尿液标本所进行的一组医学检验项目,是医学诊断过程中最为常用的方法之一。尿液分析是历史最为悠久的医学检验方法之一,可以反映肾脏和泌尿道等方面
  • 威廉·利普斯科姆小威廉·纳恩·利普斯科姆(英语:William Nunn Lipscomb, Jr.,1919年12月9日-2011年4月14日 )是美国无机化学家,主要研究实验化学、理论化学和生物化学。他在1976年因对硼烷结构的
  • 2015年Running Man节目列表本列表为《Running Man》2015年的每集节目列表。整集节目中有经常参与的出演者,无论其以何种身份出演或是否有游戏胜出权皆视为嘉宾,其他只参与某一环节的出演者则视为“特别
  • 雅浦州雅浦州是密克罗尼西亚联邦4个州之一,首府是科洛尼亚,辖有雅浦岛、萨塔瓦尔环礁,以及东面和南面延伸约800公里的14个珊瑚岛及环礁,包括欧里皮克环礁、埃拉托环礁、法斯岛、法劳莱