Unix操作系统有很多值得学习的地方,这里我们主要介绍Unix操作系统中的进程,大家一起来学习下吧!研究进程的生命周期,以便您能将所看到的系统上发生的事情与内核中发生的事情联系起来。
分配给Unix操作系统管理员的许多工作之一是确保用户的程序正确运行。因为Unix操作系统上存在其他并发运行的程序,所以此任务变得更加复杂。由于种种原因,这些程序可能会失败、挂起或行为异常。在构建更可靠的系统时,了解 UNIX® 环境如何创建、管理和销毁这些作业是至关重要的步骤。
开发人员还必须积极了解内核如何管理进程,因为与系统的其他部分和睦相处的应用程序会占用更少的资源,并且不会频繁地给系统管理员带来麻烦。由于导致僵死进程(将在稍后对其进行描述)而频繁重新启动的应用程序明显是不可取的。
对控制进程的Unix操作系统调用的了解可以使开发人员编写能够在后台自动运行的软件,而不是需要一个始终保持在用户屏幕上的终端会话。
管理这些Unix操作系统程序的基本构件就是进程。进程是赋予某个由操作系统执行的程序的名称。如果您熟悉 ps 命令,则您应该熟悉进程清单。
如清单 1 所示。
清单 1. ps 命令的输出
- sunbox#ps -ef
- UID PID PPID C STIME TTY TIME CMD
- root 0 0 0 20:15:23 ? 0:14 sched
- root 1 0 0 20:15:24 ? 0:00 /sbin/init
- root 2 0 0 20:15:24 ? 0:00 pageout
- root 3 0 0 20:15:24 ? 0:00 fsflush
- daemon 240 1 0 20:16:37 ? 0:00 /usr/lib/nfs/statd
- ...
前三列对这里的讨论非常重要。***列列出用于运行该进程的用户身份,第二列列出进程的 ID,第三列列出该进程的父进程 ID。***一列是进程的描述,通常是所运行的二进制文件的名称。每个进程都被分配一个标识符,称为进程标识符(Process Identifier,PID)。进程还有父进程,在大多数情况下就是启动它的Unix操作系统进程的 PID。
对Unix操作系统中的进程的基本知识的介绍就到这里。希望对大家对Unix操作系统的学习有所帮助。
【编辑推荐】