博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四大命令助你玩转Linux进程管理
阅读量:5953 次
发布时间:2019-06-19

本文共 4907 字,大约阅读时间需要 16 分钟。

Linux是一个多用户、多任务的操作系统。在这样的系统中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位。为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实施对进程和资源的动态管理。进程在一定条件下可以对诸如文件、数据库等客体进行操作。如果进程用作其他不法用途,将给系统带来重大危害。在现实生活当中,许多网络黑客都是通过种植“木马”的办法来达到破坏计算机系统和入侵的目的,而这些“木马”程序无一例外的是需要通过进程这一方式在机器上运行才能发挥作用的。另外,许多破坏程序和攻击手段都需要通过破坏目标计算机系统的合法进程尤其是重要系统进程,使得系统不能完成正常的工作甚至无法工作,从而达到摧毁目标计算机系统的目的。作为服务器中占绝大多数市场份额的Linux系统,要切实保证计算机系统的安全,我们必须对其进程进行监控和保护。

(更多详细内容请关注Linux系统全方位管理专题:  )

Linux操作系统包括如下三种不同类型的进程,每种进程都有其自己的特点和属性:

  1. 交互进程:由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
  2. 批处理进程:这种进程和终端没有联系,是一个进程序列。
  3. 守护进程:Linux系统启动时启动的进程,并在后台运行。

上述三种进程各有各的作用,使用场合也有所不同。

Linux系统提供了who、w、ps和top等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Linux系统的安全。

1、who命令

该命令主要用于查看当前在线上的用户情况。系统管理员可以使用who命令监视每个登录的用户此时此刻的所作所为:

# whoroot     pts/1        2010-02-21 15:56 (:0.0)

2、w命令

该命令也用于显示登录到系统的用户情况,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,w命令是who命令的一个增强版:

# w 15:56:44 up 38 min,  1 user,  load average: 0.56, 0.15, 0.12USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHATroot     pts/1    :0.0             15:56    0.00s  0.19s  0.05s w

3、ps命令

最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,如果需要检测其情况,可以使用ps命令。下面是一个ps命令的例子:

# ps  PID TTY          TIME CMD 2817 pts/1    00:00:00 bash 2836 pts/1    00:00:00 ps

4、top命令

top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确地说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。下面是一个top命令的例子:

# toptop - 15:58:07 up 39 min,  1 user,  load average: 2.09, 0.68, 0.30Tasks: 112 total,   2 running, 108 sleeping,   0 stopped,   2 zombieCpu(s): 30.6%us, 25.2%sy,  0.0%ni, 41.2%id,  0.3%wa,  2.7%hi,  0.0%si,  0.0%stMem:    485736k total,   477828k used,     7908k free,    31252k buffersSwap:  1285160k total,        0k used,  1285160k free,   291192k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                           2502 root      15   0 36680  10m 5776 S 40.0  2.2   0:54.26 Xorg                                              2814 root      15   0  127m  16m  10m S  3.0  3.5   0:03.62 gnome-terminal                                    2616 root      15   0 97356  14m  10m S  2.6  3.1   0:02.43 gnome-panel                                       2609 root      15   0 38660  10m 7544 S  2.0  2.1   0:01.57 metacity                                          2640 root      15   0 96276  13m 9448 S  2.0  2.7   0:01.46 wnck-applet                                       2597 root      15   0 33916 8144 6768 S  1.0  1.7   0:01.32 gnome-settings-                                   2618 root      15   0  133m  20m  14m S  1.0  4.4   0:04.66 nautilus                                          2709 root      15   0 16396 3488 2736 S  0.7  0.7   0:02.72 gnome-screensav                                   2837 root      15   0  2160 1008  788 R  0.7  0.2   0:00.31 top                                               2855 root      15   0  106m  22m  14m S  0.7  4.8   0:01.87 gedit                                             2035 root      18   0 33180 1276  536 S  0.3  0.3   0:01.51 pcscd                                             2076 root      21   0  9336 1108  856 S  0.3  0.2   0:00.35 automount                                         2313 root      18   0  1920  624  544 S  0.3  0.1   0:03.46 hald-addon-stor                                   2665 root      15   0  2528 1156  948 S  0.3  0.2   0:00.26 gam_server                                        2703 root      15   0 64020  24m  14m S  0.3  5.3   0:02.39 /usr/bin/sealer                                   2713 root      15   0 49500 6528 3484 S  0.3  1.3   0:00.31 scim-panel-gtk                                       1 root      15   0  2036  640  548 S  0.0  0.1   0:02.16 init                                                 2 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                          3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                          4 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                           5 root      10  -5     0    0    0 S  0.0  0.0   0:00.06 events/0                                             6 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 khelper                                              7 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 kthread                                             10 root      10  -5     0    0    0 S  0.0  0.0   0:00.26 kblockd/0

以上介绍的是目前在Linux下使用得最常见的进程状况查看工具,它们是随Linux套件发行的,安装好系统之后,用户就可以使用。当然,随着开源的不断发展,相信将会有更多的该方面的工具出现,以方便用户选择和使用。

现在我们已经介绍了与进程管理方面需要注意的事项。对于Linux系统的全方位管理,还需要注意用户管理和日志管理方面的保护,这些将在之后的文章中进行介绍。

本文转自samsunglinuxl51CTO博客,原文链接: http://blog.51cto.com/patterson/398512,如需转载请自行联系原作者

你可能感兴趣的文章
Devexpress 15.1.8 Breaking Changes
查看>>
推荐JS插件:imagesLoaded,监测图片加载情况并提供相应的事件(加载成功/失败)...
查看>>
Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)
查看>>
杨老师课堂之ArrayList集合常用方法解析
查看>>
ElasticSearch Client详解
查看>>
新零售讲堂之时代下的传统零售业,何去何从?
查看>>
c++读取和写入TXT文件的整理
查看>>
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux基础--grep以及模式正则表达式
查看>>
Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
查看>>
流媒体地址文件制作方法
查看>>
LVS DR模型及LVS持久连接
查看>>
ISA2006发布Exchange服务器 RPC OVER HTTPS
查看>>
linux下超强命令(shell语句)组合
查看>>
极品五笔管理员能用,普通用户无法使用
查看>>
线程池最大线程数
查看>>
Exchange 2010升级补丁时的服务状态变化
查看>>
上接扩展GridView控件(5) - 固定指定行、指定列
查看>>
验证码破解技术
查看>>