进程、父进程和子进程


在操作系统中,fork() 系统调用用于进程创建另一个进程。使用 fork() 系统调用的进程称为父进程,而由此创建的进程称为子进程。

以下是关于这些内容的详细信息:

进程

进程是一个正在执行的活动程序。它不仅仅是程序代码,还包括程序计数器、进程栈、寄存器、程序代码等。相比之下,程序代码仅是文本部分。

进程在其执行过程中会改变其状态。此状态部分取决于进程的当前活动。进程在其执行过程中所处的不同状态包括新建、就绪、运行、阻塞、终止。

每个进程都关联着一个进程控制块。它包含与其关联的进程的重要信息,例如进程状态、进程号、程序计数器、文件和寄存器列表、CPU 信息、内存信息等。

父进程

操作系统中所有进程都是由一个进程执行 fork() 系统调用创建的,除了启动进程。使用 fork() 系统调用的进程是父进程。换句话说,父进程是创建子进程的进程。一个父进程可以有多个子进程,但一个子进程只有一个父进程。

在 fork() 系统调用成功后,子进程的 PID 会返回给父进程,而 0 会返回给子进程。如果 fork() 系统调用失败,则 -1 会返回给父进程,并且不会创建子进程。

子进程

子进程是操作系统中父进程使用 fork() 系统调用创建的进程。子进程也可能被称为子进程或子任务。

子进程作为其父进程的副本创建,并继承其大部分属性。如果子进程没有父进程,则它是由内核直接创建的。

如果子进程退出或被中断,则会向父进程发送 SIGCHLD 信号。

以下是演示父进程和子进程的图表:

Parent and Child Process

更新于: 2020-06-24

9K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告