SCOUNIX基础讲座--第八讲:监视进程管理

程序是一个可执行文件(Process)是正在运行程序一个实例 。
SCO Unix System V支持许多进程同时运行,各种系统通过调
用可用进程去创建新进程,与其他进程通讯,以及终止其他进程 。

进程族系

新进程创建时,内核会分配一个进程标识号(PID)给它,并对
进程表中添加说明讯息 。

由一个进程创建另一新进程,老进程为父进程,新进程为子进程 。
用户Shell执行的大多数指令又是它的子进程,子进程则运行指令 。
而父进程允许有多个子进程来实现任务等,待子进程完成 。一个
父进程可以有多个子进程,但是,一个子进程只有一个父进程 。

前台及後台进程

在Shell提示处打入指令後,创建一子进程运行命令,Shell等待
命令退出,然回到对用户提出提示符,这道指令与Shell同步运行,
即在前台运行 。

在Shell提示 处打入的指令,若随一个&,Shell创建的子进程运行
此指令,但不等待指令退出,而直接返回到对用户提出提示 。这
道指令与Shell同步运行,即在台运行 。

$ sleep 10 &

精灵进程

精灵进程是一个进程,它与终端和用户都无联系,也有人喜欢称
他为管家婆 。精灵完成一些周期性的事,平时它睡眠 。用ps (C)
指令可看到精灵,它在tty区域中带有问号(?) 。

-Sched:PID 0,它完成进程的程序在存储局和盘交换局之间交
换工作 。

-init:PID 1,系统自动建的第一用户进程,它负责初始化引
导和注册过程,也就是所有非系统进程的祖先 。它会在终端口上,
启动getty (M)进程 。

-vhand:PID 2,页面精灵,它频繁地把储页面内容送往交换区 。

-bdfush:PID 3,定期刷新高速缓到盘(默认情况,每13秒刷
新一次)

-logger:归档系统出错讯息 。

-cron:在调度时运行作业 。

-Ipsched:脱机打印精灵 。

孩儿进程

孤儿进程在父进程终止仍旧活动,由init (M)认它为乾儿子 。
僵□进程则是进程已终止,但进程还未撤消,因为父进程并未「
等待」它,进程表仍保留著这□体,进程表的□体是僵□进程所
消耗的资源 。

随著新进程的创建,出现大量□体,但总数是有限制的,因此影
响新进程的产生 。而孩儿进程与僵□进程不同,并不会影响系统
效率 。

通常,在父进程死去时,才会移去僵□进程 。若他们还未移去,
应由init (M)继承并移去它 。

监视进程

监视进程监注册户的数量,用以记系统的性能;亦会监视用户进
程,包括挂起进程;以及装载均值等系统性能问题 。

要显示进程信息,可以利ps (C)指令报告,进程状态 。在默认
情况下,仅会报告与当前终端有联系的有关讯息 。若用户没有root权
限,ps仅限以说明运行进程,报告用户的进程讯息 。若用户有root权
限,则会报告在所有终端上所有用户的进程讯息 。

$ ps-u joana

--u 〈username〉选项显示指定用户的讯息 。

--t 〈ttynamt〉选项显示指定终端有关的进程讯息 。

而ps -elf指令则提供了需有F、S、C、PRI、NI、TIME字段的
使用讯息 。

-F是标记,指示进程位置,20表示在内存,0表示交换在盘上,
31是系统进程 。

-S是状态讯息,指示进程状态,睡眠还是正在运行 。

-C是进程占有CPU的百分率

-TIME是花费CPU的总时间 。

-PRI是进程当前优先数

-NI是进程的nice (ADM)菜单

如何创建进程

当进程分岔一个子进程,自己就会进入睡眠状态 。开始时,子进

推荐阅读