随着linux广泛的使用,了解到服务器所运行的进程是势在必行的,作为初学者有必要总结自己的技术文档,根据自己的总结文档 写了如下的介绍。 ps 查看静态的进程信息 可以使用man 来查看 ps 的使用参数 以下是几个常使用到得, a 显示当前终端的所有进程信息 u 使用以用户为主的格式输出进程信息 x 显示当前用户在所有终端下的进程信息 -e 显示 系统内的所有进程
ps 只显示当前用户打开的进程
PID TTY TIME CMD 1949 pts/1 00:00:00 bash 2279 pts/1 00:00:00 ps
]# ps aux 显示系统中所有进程信息 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2072 620 ? Ss 16:07 0:01 init [3] root 2 0.0 0.0 0 0 ? S< 16:07 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN 16:07 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S< 16:07 0:00 [khelper] root 7 0.0 0.0 0 0 ? S< 16:07 0:00 [kthread] root 173 0.0 0.0 0 0 ? S< 16:07 0:00 [cqueue/0] root 176 0.0 0.0 0 0 ? S< 16:07 0:00 [khubd] root 178 0.0 0.0 0 0 ? S< 16:07 0:00 [kseriod] root 241 0.0 0.0 0 0 ? S 16:07 0:01 [pdflush] root 243 0.0 0.0 0 0 ? S< 16:07 0:00 [kswapd0] root 244 0.0 0.0 0 0 ? S< 16:07 0:00 [aio/0] root 496 0.0 0.0 0 0 ? S< 16:07 0:00 [ata_aux] root 501 0.0 0.0 0 0 ? S< 16:07 0:00 [kstriped] root 510 0.0 0.0 0 0 ? S< 16:07 0:00 [ksnapd] root 2087 0.1 2.2 31304 11408 ? Ss 19:58 0:00 /usr/sbin/httpd root 2115 0.0 0.1 2528 640 ? S 19:59 0:00 /usr/local/apache2/bin/rotatel root 2118 0.0 0.1 2528 640 ? S 19:59 0:00 /usr/local/apache2/bin/rotatel apache 2119 0.0 1.2 31304 6380 ? S 19:59 0:00 /usr/sbin/httpd 注释 以上所显示代表的内容 user 启动该进程的用户账号名称 PID 该进程在系统中的ID 号 %cpu使用的cpu 百分比 %MEM 内存占用百分比 VSZ 占用虚拟内存的大小 RSS 占用物理内存的大小 TTY 该进程在那个终端运行 START 启动该进程的时间 TIME 该进程占用cpu的时间 COMMAND 启动该进程的命令的名称 2 top 动态显示系统进程信息 [root@www ~]# top
top - 20:08:54 up 4:01, 5 users, load average: 0.07, 0.17, 0.45 Tasks: 141 total, 1 running, 139 sleeping, 0 stopped, 1 zombie Cpu(s): 6.1%us, 4.2%sy, 0.0%ni, 87.5%id, 1.7%wa, 0.0%hi, 0.6%si, 0.0%st Mem: 515340k total, 433076k used, 82264k free, 20548k buffers Swap: 522072k total, 84k used, 521988k free, 217348k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1884 root 15 0 100m 17m 10m S 1.5 3.6 0:05.93 gnome-terminal 241 root 15 0 0 0 0 S 0.2 0.0 0:01.49 pdflush 2491 root 18 0 2336 1036 800 R 0.2 0.2 0:00.17 top 2492 xiaowang 15 0 10192 3304 2172 S 0.2 0.6 0:00.32 vim 3957 root 15 0 41212 12m 8584 S 0.2 2.5 0:22.81 metacity 3961 root 15 0 83120 14m 9.8m S 0.2 2.8 0:03.07 gnome-panel 4035 root 15 0 70804 15m 10m S 0.2 3.0 0:13.07 wnck-applet 4637 root 15 0 12044 1160 940 S 0.2 0.2 0:11.90 scim-bridge 4638 root 15 0 16672 2184 1420 S 0.2 0.4 0:08.75 gnome-screensav 1 root 15 0 2072 620 532 S 0.0 0.1 0:01.42 init 注释以上显示代表的内容 第一行是任务队列信息,等同于同uptime 命令的执行结果。其内容如下 表示 当前系统时间 系统运行时间 登录用户数 平均负载 第二、三行为进程和CPU的信息。 Tasks: 141 total, 进程总数 1 running 正在运行的进程数 139 sleeping 休眠的进程数 0 stopped 停止的 1 zombie 僵死的进程数 Cpu(s): 6.1%us, 占用cpu百分比 sy 内核空间占用CPU百分比 ni 用户进程空间内改变过优先级的进程占用CPU百分比 id 空闲CPU百分比 wa 等待输入输出的CPU时间百分比 最后两行为内存信息。 内容如下: Mem: 1 total 物理内存总量 used 使用的物理内存总量 free 空闲内存总量 buffers 用作内核缓存的内存量 Swap: total 交换区总量 used 使用的交换区总量 free 空闲交换区总量 cached 缓冲的交换区总量。 top 命令 参数 d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来 s : 安全模式,将交谈式指令取消, 避免潜在的危机 i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 n : 更新的次数,完成后将会退出 top b : 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内 3 pgrep 命令 可以根据指定的进程名, 运行该进程的用户,进程所在终端等多种属性查询特定进程的PID号
pgrep -l mysqld
32597 mysqld_safe
32647 mysqld
pgrep -l -U 查看用户 运行进程的PID号
4 pstree 查看进程数
不带任何参数时 可以显示系统中所有用户的进程数结构
[root@www ~]# pstree init─┬─acpid ├─atd ├─auditd─┬─audispd───{audispd} │ └─{auditd} ├─automount───4*[{automount}] ├─avahi-daemon───avahi-daemon ├─bonobo-activati───{bonobo-activati} ├─bt-applet ├─clock-applet ├─crond ├─cupsd ├─2*[dbus-daemon] ├─dbus-launch ├─eggcups ├─escd───{escd} ├─events/0 ├─gam_server ├─gconfd-2 ├─gnome-keyring-d pstree aux 将列出进程的PID 用户名 以及命令 信息 [root@www ~]# pstree -aup init,1 ├─acpid,3198 ├─atd,3544 ├─auditd,2467 │ ├─audispd,2469 │ │ └─{audispd},2480 │ └─{auditd},2468 ├─automount,3296 │ ├─{automount},3297 │ ├─{automount},3298 │ ├─{automount},3301 │ └─{automount},3304 ├─avahi-daemon,3575,avahi │ └─avahi-daemon,3576 ├─gnome-terminal,1884 │ ├─bash,1949 │ ├─bash,2241 │ │ └─su,4076 fjc │ │ └─bash,4077,fjc │ │ └─vim,4097 1.php │ ├─bash,2295 │ │ └─pstree,4366 -aup │ ├─bash,2494 │ ├─gnome-pty-helpe,1914 │ └─{gnome-terminal},1916 ├─gnome-vfs-daemo,3980 ├─gpm,3465 -m /dev/input/mice -t exps2 ├─hald,3217,haldaemon │ └─hald-runner,3218,root │ ├─hald-addon-acpi,3225,haldaemon │ ├─hald-addon-keyb,3233,haldaemon │ └─hald-addon-stor,3242 ├─hcid,3109 ├─hidd,3267 –server ├─hpiod,3318 ├─httpd,2087 │ ├─httpd,2119,apache │ ├─httpd,2120,apache │ ├─httpd,2121,apache │ ├─httpd,2122,apache │ ├─httpd,2123,apache │ ├─httpd,2124,apache │ ├─httpd,2125,apache │ ├─httpd,2126,apache │ ├─rotatelogs,2115 /home/xiaowang/logs/%Y%m%d%H.error_log 720048 │ ├─rotatelogs,2116 /home/xiaoli/logs/%Y%m%d%H.error_log 7200 480 │ ├─rotatelogs,2117 /home/xiaowang/logs/%Y%m%d%H.access_log 72004 │ └─rotatelogs,2118 /home/xiaoli/logs/%Y%m%d%H.access_log 7200480 查看某个用户使用的进程数结构信息
pstree -ap fjc
bash,4077 └─vim,4097 1.php 还有许多参数的都可以在man 中一一的查看到