Linux中的ps命令是 Process Status 的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,
就是执行ps命令的那个时刻的那些进程, 如果想要动态的显示进程信息,就可以使用top命令 。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
-A :所有的进程均显示出来,与 -e 具有同样的效用;
-a :显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
x :通常与 a 这个参数一起使用,可列出较完整信息。
l :较长、较详细的将该PID 的的信息列出;
j :工作的格式 (jobs format)
-f :做一个更为完整的输出。
下面我们就来一个命令进行实践,看看不同的参数都有些什么效果。
2. 不加参数执行ps命令会输出什么?
这是一个基本的 ps 使用,我们来看看控制台中执行这个命令并查看结果。
结果默认会显示4列信息:
PID: 运行着的命令(CMD)的进程编号
TTY: 命令所运行的位置(终端)
TIME: 运行着的该命令所占用的CPU处理时间
CMD: 该进程所运行的命令
这些信息在显示时未排序。
3. 如何显示所有当前进程?
使用 -a 参数,-a 代表 all。同时加上x参数会显示没有控制终端的进程。
$ps-ax#这个命令的结果或许会很长。为了便于查看,可以结合less命令和管道来使用。$ps-ax|less
4. 如何根据进程的用户进行信息过滤呢?
在需要查看特定用户进程的情况下,我们可以使用 -u 参数。比如我们要查看用户’pungki’的进程,可以通过下面的命令:
$ps-upungki
5. 如何通过cpu和内存使用来过滤进程?
也许你希望把结果按照 CPU 或者内存用量来筛选,这样你就找到哪个进程占用了你的资源。要做到这一点,我们可以使用 aux 参数,来显示全面的信息:
$ps-aux|less
当结果很长时,我们可以使用管道和less命令来筛选。
默认的结果集是未排好序的。可以通过 –sort命令来排序。
5.1 根据CPU使用率来升序排序
$ps-aux--sort-pcpu|less
5.2 根据内存使用率来升序排序
$ps-aux--sort-pmem|less
5.3 我们也可以将它们合并到一个命令,并通过管道显示前10个结果:
$ps-aux--sort-pcpu,+pmem|head-n10
6. 如何通过进程名和PID进行过滤呢?
使用 -C 参数,后面跟你要找的进程的名字。比如想显示一个名为getty的进程的信息,就可以使用下面的命令:
$ps-Cgetty
如果想要看到更多的细节,我们可以使用-f参数来查看格式化的信息列表:
$ps-f-Cgetty
7. 如何根据线程来过滤进程呢?
如果我们想知道特定进程的线程,可以使用 -L 参数,后面加上特定的PID。
有时候我们希望以树形结构显示进程,可以使用 -axjf 参数。
或者可以使用另一个命令。
如果想要查看现在有谁登入了你的 服务器 。可以使用ps命令加上相关参数:
$ps-eopid,user,args
参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args参数显示PID,运行应用的用户和该应用。
能够与 -e 参数 一起使用的关键字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。
10. 如何格式化输出root用户(真实的或有效的UID)创建的进程?
系统管理员想要查看由root用户运行的进程和这个进程的其他相关信息时,可以通过下面的命令:
$ps-Uroot-urootu
-U 参数按真实用户ID(RUID)筛选进程,它会从用户列表中选择真实用户名或 ID。真实用户即实际创建该进程的用户。
-u 参数用来筛选有效用户ID(EUID)。

最后的 u 参数用来决定以针对用户的格式输出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND这几列组成。
这里有上面的命令的输出结果:
11. 如何使用PS实时监控进程状态?
ps 命令会显示你系统当前的进程状态,但是这个结果是静态的。
当有一种情况,我们需要像上面第四点中提到的通过CPU和内存的使用率来筛选进程,并且我们希望结果能够每秒刷新一次。为此,我们可以将ps命令和watch命令结合起来。
$watch-n1‘ps-aux--sort-pmem,-pcpu’
如果输出太长,我们也可以限制它,比如前20条,我们可以使用 head 命令来做到。
$watch-n1‘ps-aux--sort-pmem,-pcpu|head20’
这里的动态查看并不像top或者htop命令一样。但是使用ps的好处是你能够定义显示的字段,你能够选择你想查看的字段。
举个例子,如果你只需要看名为’pungki’用户的信息,你可以使用下面的命令:
$watch-n1‘ps-aux-Upungkiu--sort-pmem,-pcpu|head20’
你也许每天都会使用ps命令来监控你的Linux系统。但是事实上,你可以通过ps命令的参数来生成各种你需要的报表。
查看Linux服务器有哪些用户正登录在服务器上
那么Linux操作系统里查看所有用户该怎么办呢?用命令。 其实用命令就能很轻松的查看到Linux系统有哪些用户。 1、Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/passwd |cut -f 1 -d :2、用户管理命令 useradd 注:添加用户 adduser 注:添加用户 passwd 注:为用户设置密码 usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等; pwcov 注:同步用户从/etc/passwd 到/etc/shadow pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整; pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件; finger 注:查看用户信息工具 id 注:查看用户的UID、GID及所归属的用户组 chfn 注:更改用户信息工具 su 注:用户切换工具 sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现; visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的; sudoedit 注:和sudo 功能差不多;
Linux下如何查看哪个进程占用存储空间多
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|headlinux下获取占用内存资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head命令组合解析(针对CPU的,MEN也同样道理):ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head该命令组合实际上是下面两句命令:ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head
如何在Linux中查看所有正在运行的进程
你可以使用ps命令。 它能显示当前运行中进程的相关信息,包括进程的PID。 Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。 ps命令能提供一份当前进程的快照。 如果你想状态可以自动刷新,可以使用top命令。 ps命令输入下面的ps命令,显示所有运行中的进程:# ps aux | less其中,-A:显示所有进程a:显示终端中包括其它用户的所有进程x:显示无控制终端的进程任务:查看系统中的每个进程。 # ps -A# ps -e任务:查看非root运行的进程# ps -U root -u root -N任务:查看用户vivek运行的进程# ps -u vivek任务:top命令top命令提供了运行中系统的动态实时视图。 在命令提示行中输入top:# top输出:图1:top命令:显示Linux任务图1:top命令:显示Linux任务按q退出,按h进入帮助。 任务:显示进程的树状图。 pstree以树状显示正在运行的进程。 树的根节点为pid或init。 如果指定了用户名,进程树将以用户所拥有的进程作为根节点。 $ pstree输出示例:图2:pstree - 显示进程的树状图图2:pstree - 显示进程的树状图任务:使用ps列印进程树# ps -ejH# ps axjf任务:获得线程信息输入下列命令:# ps -eLf# ps axms任务:获得安全信息输入下列命令:# ps -eo euser,ruser,suser,fuser,f,comm,label# ps axZ# ps -eM任务:将进程快照储存到文件中输入下列命令:# top -b -n1 > /tmp/你也可以将结果通过邮件发给自己:# top -b -n1 | mail -s Process snapshot 任务:查找进程使用pgrep命令。 pgrep能查找当前正在运行的进程并列出符合条件的进程ID。 例如显示firefox的进程ID:$ pgrep firefox下面命令将显示进程名为sshd、所有者为root的进程。 $ pgrep -u root sshd向htop和atop说hellohtop是一个类似top的交互式进程查看工具,但是可以垂直和水平滚动来查看所有进程和他们的命令行。 进程的相关操作(killing,renicing)不需要输入PID。 要安装htop输入命令:# apt-get install htop或# yum install htop在命令提示行中输入htop:# htop输出示例:图3:htop - Interactive Linux / UNIX process viewer图3:htop - Interactive Linux / UNIX process vieweratop工具atop是一个用来查看Linux系统负载的交互式监控工具。 它能展现系统层级的关键硬件资源(从性能角度)的使用情况,如CPU、内存、硬盘和网络。 它也可以根据进程层级的CPU和内存负载显示哪个进程造成了特定的负载;如果已经安装内核补丁可以显示每个进程的硬盘和网络负载。 输入下面的命令启动atop:# atop
发表评论