在大多数系统中进程都可以并发的执行,并且他们可以动态地创建和结束。因此,这些系统必须提供进程创建和结束的机制。
进程创建
在执行的过程中,一个进程可能会创建几个新的进程。创建进程的进程叫做父进程,新的进程称为该进程的子进程。这些进程中的每一个也可以创建其他的进程,这就形成了一个进程树。
大多数的操作系统(包括UNIX,Linux和Windows)根据独一无二的进程标识符process identifile(pid)来识别进程。pid为在系统中的每个进程提供了一个独一无二的数值,它可以被用过访问内核中单个进程各种属性的索引。
下图展示了Linux操作系统中一个典型的进程树。展示了每个进程的名字和其pid。进程systmed作为所有用户进程根进程和父进程,并且是系统引导时的第一个被创建的用户进程。当系统被引导完后,systemd进程会创建提供额外服务的诸如,网页、打印、ssh等等的进程。下图中没我们看到systemd有两个子进程,logind和sshd。logind是负责管理直接登入到系统的客户端的进程。在这个示例中,客户端通过使用bash shell登入并且分配pid8416。通过使用bash命令行接口,这个用户已经创建了ps和vim编辑器这两个进程。sshd是负责管理客户端通过ssh(secure shell)连接到系统的进程。

in
版权声明:本文为weixin_29032337原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。