2022-05-20 18:56:25

父进程 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
计算机概念
计算机概念
编辑分类

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

基本信息

  • 中文名称

    父进程

  • 外文名称

    Parent Process

  • 解释

    已创建一个或多个子进程的进程

  • 领域

    计算机

目录

折叠 编辑本段 UNIX

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

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

折叠 编辑本段 进化介绍

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

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

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

1.将父进程中对SIGCHLD信号的处理函数设为SIG_IGN(忽略信号);

2.fork两次并杀死一级子进程,令二级子进程成为孤儿进程而被init所"收养"、清理。

折叠 编辑本段 Linux

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

阅读全文

热点资讯

我的关注