收集进程信息
$ 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