LinuxShell脚本攻略--第九章 管理重任

收集进程信息

$ ps
PID TTY TIME CMD
pts/ :: bash
pts/ :: ps
$ ps -f                             #-f 显示更详细的信息
UID PID PPID C STIME TTY TIME CMD 
fzk 2589 2581 0 08:56 pts/0 00:00:00 bash 
fzk 3510 2589 0 13:29 pts/0 00:00:00 ps -f

ps只会输出和当前终端有关的信息,要获取运行在系统中的每个进程的信息,使用选项-e(every)。-ax也可以。如:
  ps –e , ps –ef , ps -ax 或 ps –axf
-o参数指定想要显示的列

$ ps -eo comm,pcpu | head       #-e 全部,-o 后面跟想要显示的列

pcpu         CPU占用率
pid            进程ID
ppid          父进程ID
pmem            内存使用率
comm         可执行文件名
cmd               简单命令
user               启动进程的用户
nice          优先级
time          累计的CPU时间
etime          进程启动后流逝的时间
tty          所关联的TTY设备
euid          有效用户ID
stat           进程状态

常用来查看进程的命令:

$ ps -aux      #-u 以用户为主的格式显示
$ ps -ef

还可以进行排序 --sort。在参数前加上 + (升序)或 - (降序)来指定排序方式

$ ps -eo comm,pcpu --sort -pcpu | head    # --sort +(升序)-(降序) 列名

进程线程的相关信息 -L

$ ps -eLf

which 、 whereis 、 file 、 whatis 与平均负载

which命令用来查找某个命令的位置。我们在终端输入命令时无需知道对应的可执行文件位于何处。当输入命令时,终端会在一组位置中查找这个命令。这一组位置,由环境变量PATH指定。输入echo $PATH,可以看到这一组变量。如果要导出PATH并添加上我们自己的命令位置,可以这样:
$ export PATH=$PATH:/home/slynux/bin
在输出PATH时就已经有我们自己配置的路径了。

$ which ls
/bin/ls

whereis 不仅能返回命令的路径,还能打印其对应的命令手册的位置以及命令源代码的路径(如果有)。

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls..gz

file 能确定文件的类型

$ file /bin/ls
/bin/ls: ELF -bit LSB executable, x86-, version (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6., BuildID[sha1]=bd39c07194a778ccc066fc963ca152bdfaa3f971, stripped

whatis 命令会输出会输出作为参数的命令的简短描述信息。

$ whatis ls
ls () - list directory contents

平均负载 平均负载是系统总负载量的一个重要参数。它指明了系统中可运行进程总量的平均值。平均负载由三个值来指定,第一个值指明了1分钟内的平均值,第二个值指明了5分钟内的平均值,第三个值指明了15分钟内的平均值。

$ uptime
:: up :, users,load average: 0.00, 0.00, 0.00
上一篇:IntelliJ IDEA创建第一个Java小程序


下一篇:ActiveMQ的使用笔记(基本实现原理)