父进程

✍ dations ◷ 2025-02-23 19:45:18 #操作系统,进程,计算机科学

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

相关

  • 静脉静脉是循环系统中使血液回流心脏的血管。大多数静脉(体循环的静脉)携带的血液氧量较低、二氧化碳含量较高,它们把血从体组织带回心脏,肺循环的静脉和肺静脉中的血液氧浓度是最高
  • 认知发展论认知发展论(Cognitive-developmental theory 或 Theory of Cognitive Development)是著名发展心理学家让·皮亚杰所提出,被公认为20世纪发展心理学上最权威的理论。所谓“认知
  • 异性恋异性恋亦称为异性向,一般指对异性(包括生理性别及性别认同为当事人的异性)能产生爱慕感、建立浪漫关系,或认为异性拥有性吸引力的一种现象。把异性恋视作性倾向时,其定义则为“一
  • 胃脏胃是人和脊椎动物消化系统的一部分,是贮藏和消化食物的器官。胃上接食道,下接十二指肠。位置大约位于人体的左上腹,肋骨以下。胃主要将大块食物研磨成小块,将食物中的大分子降解
  • RNA世界RNA世界学说(英语:RNA world hypothesis)是一个理论,认为地球上早期的生命分子以RNA先出现,之后才有蛋白质和DNA。且这些早期的RNA分子同时拥有如同DNA的遗传讯息储存功能,以及如
  • 甘蔗属是一类禾本科的单子叶植物,本属包括了在全球种植的重要经济作物之数种甘蔗,是制造蔗糖及提炼乙醇的原料,并是重要生质能源产源,及观赏用的沙生蔗茅 (Saccharum ravennae)
  • 关键种关键种或关键物种(英语:keystone species,又直译基石种或基石物种)是指对环境的影响与其生物量不成比例的物种。这些物种对保持生态群落(英语:Community (ecology))的结构起着重要
  • 扬州 (九州)扬州,是汉族传统地域(九州)之一,也是“十二州”之一。汉代以后,成为实际行政区。管辖今江苏、安徽南部,浙江、福建、江西、广东全境及广西部分地区。相传大禹治水后,分天下为九州,扬
  • 古典元素元素或古典元素(英语:Classical elements),在古典哲学中,是一种构成世界上所有物质的最基本实体,或是能量。在历史上,许多不同的民族,都曾经建构出属于他们自己的元素思想,最著名的代
  • 2001年马其顿武装冲突奥赫里德协议(英语:Ohrid Agreement) 马其顿 支持者: 150-250位平民死亡,并超过1,000位平民受伤 其他伤亡: 140,000位平民流离失所 2001年马其顿武装冲突为2001年2月到6月开始