Red Hat Enterprise Linux 6.4网络操作系统详解
上QQ阅读APP看书,第一时间看更新

2.4 任务4 熟练使用进程管理类命令

进程管理类命令是对进程进行各种显示和设置的命令。

1.使用ps命令

ps命令主要用于查看系统的进程。该命令的语法为:

        ps  [参数]

ps命令的常用参数选项如下。

•-a:显示当前控制终端的进程(包含其他用户的)。

•-u:显示进程的用户名和启动时间等信息。

•-w:宽行输出,不截取输出中的命令行。

•-l:按长格形式显示输出。

•-x:显示没有控制终端的进程。

•-e:显示所有的进程。

•-tn:显示第n个终端的进程。

例如:

        [root@RHEL6 dir1]# ps -au
        USER  PID  % CPU    % MEM   VSZ  RSS   TTY  STAT  START  TIME   COMMAND
        root  2459  0.0    0.2  1956  348  tty2  Ss+  09:00  0:00  /sbin/mingetty tty2
        root  2460  0.0    0.2  2260  348  tty3  Ss+  09:00  0:00  /sbin/mingetty tty3
        root  2461  0.0    0.2  3420  348  tty4  Ss+  09:00  0:00  /sbin/mingetty tty4
        root  2462  0.0    0.2  3428  348  tty5  Ss+  09:00  0:00  /sbin/mingetty tty5
        root  2463  0.0    0.2  2028  348  tty6  Ss+  09:00  0:00  /sbin/mingetty tty6
        root  2895  0.0    0.9  64721180  tty1  Ss    09:09 0:00   bash

提示:ps通常和重定向、管道等命令一起使用,用于查找出所需的进程。

2.使用kill命令

前台进程在运行时,可以用Ctrl+C组合键来终止它,但后台进程无法使用这种方法终止,此时可以使用kill命令向进程发送强制终止信号,以达到目的,例如:

        [root@RHEL6 dir1]# kill -l
         1) SIGHUP       2) SIGINT       3) SIGQUIT       4) SIGILL
         5) SIGTRAP      6) SIGABRT      7) SIGBUS        8) SIGFPE
         9) SIGKILL     10) SIGUSR1     11) SIGSEGV      12) SIGUSR2
        13) SIGPIPE     14) SIGALRM     15) SIGTERM      17) SIGCHLD
        18) SIGCONT     19) SIGSTOP     20) SIGTSTP      21) SIGTTIN
        22) SIGTTOU     23) SIGURG      24) SIGXCPU      25) SIGXFSZ
        26) SIGVTALRM   27) SIGPROF     28) SIGWINCH     29) SIGIO
        30) SIGPWR      31) SIGSYS      34) SIGRTMIN     35) SIGRTMIN+1
        (略)

上述命令用于显示kill命令所能够发送的信号种类。每个信号都有一个数值对应,例如SIGKILL信号的值为9。

kill命令的格式为:

        kill  [参数]  进程1  进程2  …

参数选项-s一般跟信号的类型。

例如:

        [root@RHEL6 dir1]# ps
        PID  TTY      TIME      CMD
        1448  pts/1   00:00:00  bash
        2394  pts/1   00:00:00  ps
        [root@RHEL6 dir1]# kill -s SIGKILL 2394  或者//kill  -92394
        //上述命令用于结束ps进程

3.使用killall命令

和kill命令相似,killall命令可以根据进程名发送信号,例如:

        [root@RHEL6 dir1]# killall -9 httpd

4.使用nice命令

Linux系统有两个和进程有关的优先级。用“ps-l”命令可以看到两个域:PRI和NI。PRI是进程实际的优先级,它是由操作系统动态计算的,这个优先级的计算和NI值有关。NI值可以被用户更改,NI值越高,优先级越低。一般用户只能加大NI值,只有超级用户才可以减小NI值。NI值被改变后,会影响PRI。优先级高的进程被优先运行,缺省时进程的NI值为0。nice命令的用法如下:

        nice  -n  程序名           //以指定的优先级运行程序

其中,n表示NI值,正值代表NI值增加,负值代表NI值减小。

例如:

        [root@RHEL6 dir1]# nice --2 ps -l

5.使用renice命令

renice命令是根据进程的进程号来改变进程的优先级的。renice的用法如下:

        renice  n  进程号

其中,n为修改后的NI值。

例如:

        [root@RHEL6 dir1]# ps -l
        F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY        TIME CMD
        0 S    0  3324  3322  0  80   0-27115  wait   pts/0    00:00:00 bash
        4 R    0  4663  3324  0  80   0-27032-       pts/0    00:00:00 ps
        [root@RHEL6 dir1]# renice -63324

6.使用top命令

和ps命令不同,top命令可以实时监控进程的状况。top屏幕自动每5秒钟刷新一次,也可以用“top-d 20”,使得top屏幕每20秒刷新一次。top屏幕的部分内容如下:

        top-19:47:03 up 10:50,  3 users,  load average: 0.10, 0.07, 0.02
        Tasks:  90 total,   1 running,  89 sleeping,   0 stopped,   0 zombie
        Cpu(s): 1.0% us,  3.1% sy,  0.0% ni, 95.8% id,  0.0% wa,  0.0% hi,  1.0% si
        Mem:    126212k total,  124520k used,  1692k free,    10116k buffers
        Swap:   257032k total,  25796k used,   231236k free,  34312k cached
        PID  USER PR   NI  VIRT   RES  SHR   S  % CPU  % MEM  TIME+     COMMAND
        2946 root 14   -1  39812  12m  3504  S  1.3    9.8    14:25.46  X
        3067 root 25   10  39744  14m  9172  S  1.0    11.8   10:58.34  rhn-applet-gui
        2449 root 16   0   6156   33281460  S  0.3    3.6    0:20.26   hald
        3086 root 15   0   23412  75766252  S  0.3    6.0    0:18.88   mixer_applet2
        1446 root 16   0   8728   25082064  S  0.3    2.0    0:10.04   sshd
        2455 root 16   0   2908   948  756   R  0.3    0.8    0:00.06   top
        1    root 16   0   2004   560  480   S  0.0    0.4    0:02.01   init

top命令前5行的含义如下。

第1行:正常运行时间行。显示系统当前时间、系统已经正常运行的时间、系统当前用户数等。

第2行:进程统计数。显示当前的进程总数、睡眠的进程数、正在运行的进程数、暂停的进程数、僵死的进程数。

第3行:CPU统计行。包括用户进程、系统进程、修改过NI值的进程、空闲进程各自使用CPU的百分比。

第4行:内存统计行。包括内存总量、已用内存、空闲内存、共享内存、缓冲区的内存总量。

第5行:交换分区和缓冲分区统计行。包括交换分区总量、已使用的交换分区、空闲交换分区、高速缓冲区总量。

在top屏幕下,用q键可以退出,用h键可以显示top下的帮助信息。

7.使用bg、jobs、fg命令

bg命令用于把进程放到后台运行,例如:

        [root@RHEL6 dir1]# bg find

jobs命令用于查看在后台运行的进程,例如:

        [root@RHEL6 dir1]# find / -name aaa &
        [1] 2469
        [root@RHEL6 dir1]# jobs
        [1]+  Running                find / -name aaa &

fg命令用于把从后台运行的进程调到前台,例如:

        [root@RHEL6 dir1]# fg find