一般来说,在操作系统中,进程是运行程序在计算机上的一次执行实例的活动。当我们运行一个程序实例,就启动了一个进程。Unix操作系统给每一个进程分配惟一的进程识别号。每一个进程有相关的UID分配给那个用户调用的所有进程。每一个进程有一个优先权,调度程序使用它来确定下一次运行的进程,这也就是我们所说的管理进程。进程又可分为系统进程和用户进程。系统进程主要用于完成操作系统的功能,而应用程序的进程就是用户进程了。
进程的重要性体现在可以通过观察它来判断系统中到底运行了哪些程序,从而在未能及时更新杀毒软件或杀毒软件失效的情况下,及时发现并手动清除病毒或木马。
Unix下的进程查看
在Unix下可以监督系统上的用户和进程,可以改变进程的优先权和停止进程。
首先,我们可以用“w”命令监督用户和进程,显示谁已注册和他们在干什么。如图1所示。
图1 |
其次,用“ps”命令显示进程状态的抽点打印。ps有许多选项,仅在这里列出一些,详细资料请参阅相关资料。
a 列出和终端有关的所有进程。
X 列出所有进程,包括没有连接到一个终端的进程,如后台进程。
l或-l 长列表给出更多字段(替代的格式)
u 列出面向用户的字段,例如user(名字)和STARTED(进程启动时间)
-e 列出除核心进程外的所有进程(类似ax)
进程显示中的某些字段说明如下:
COMMAND 执行的命令或程序
CP 短期CPU利用率
%CPU CPU利用的百分比
F 进程标志
%MEM 实存利用百分比
NI 进程调度增量;nice值
PID 进程识别号
PPID 父进程识别号
PRI 进程优先权
STAT 进程的状态,由字符序列表示,如表1所示。
表1 |
TIME 当前已使用的CPU时间
TT 控制TTY设备名
UID 进程所有者的用户标识号
下面列出几个实例,我们可以通过不同的命令查看到不同的内容。
示例1、列出和终端有关的所有进程,使用命令:
# ps a
显示结果如图2所示。
图2 |
示例2、列出和终端相关的所有进程,并列出面向用户的字段,使用命令:
# ps au
显示结果如图3所示。
图3 |
示例3、查看和终端有关的所有进程的详细信息,使用命令:
# ps la
显示结果如图4所示。
图4 |
示例4、查看和终端有关的所有进程的详细信息,包括后台进程,使用命令:
# ps lax
显示结果如图5所示。
图5 |
示例5、查看除核心进程以外的所有进程的详细信息,使用命令:
# ps -le
显示结果如图6所示。
图6 |
示例6、查看除核心进程以外的所有进程,使用命令:
# ps -e
显示结果如图7所示。
图7 |
Unix下的进程灭杀
Unix的一个进程可以由它的所有者或超级用户挂起或终止。
要挂起在korn或C Shell环境下前台运行的所属自己的进程时,请按Ctrl+Z。该进程可以使用fg在前台继续,或使用bg该进程在后台继续。
为了挂起自己的或其他的进程,可以发送STOP信号(17)。Kill(1)命令用于向一个进程发信号。如:#kill -signal pid。
要终止一个进程,用#kill -9 pid号即可,如“# kill -9 637”。如图8所示。
图8 |
这样就将Unix终端给KILLED。如图9所示。
图9 |
编辑提示:作为网管,在初装完操作系统之后,最好做好系统进程和用户进程的“快照”备份,以便日后检查维护,或者怀疑有病毒和木马时对照检查。尤其是对于安装了新的应用软件后的进程检查。比如,新软件运行时有没有添加系统进程,添加的进程名是什么?如果添加了进程,我们由于没有及时地查看并了解清楚,在出现问题查毒后,有可能会把这些进程错认成病毒木马给删除了,会给今后日常维护、查毒带来不必要的麻烦,甚至影响系统的运行。
【编辑推荐】