在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

输出:

按q退出,按h进入帮助。

任务:显示进程的树状图。

pstree以树状显示正在运行的进程。树的根节点为pid或init。如果指定了用户名,进程树将以用户所拥有的进程作为根节点。

$ 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/process.log

你也可以将结果通过邮件发给自己:

# top -b -n1 | mail -s 'Process snapshot' you@example.com

使用pgrep命令。pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:

任务:查找进程

$ pgrep firefox

下面命令将显示进程名为sshd、所有者为root的进程。

$ pgrep -u root sshd

向htop和atop说hello

htop是一个类似top的交互式进程查看工具,但是可以垂直和水平滚动来查看所有进程和他们的命令行。进程的相关操作(killing,renicing)不需要输入PID。要安装htop输入命令:

# apt-get install htop

# yum install htop

在命令提示行中输入htop:

# htop

atop工具

atop是一个用来查看Linux系统负载的交互式监控工具。它能展现系统层级的关键硬件资源(从性能角度)的使用情况,如CPU、内存、硬盘和网络。

它也可以根据进程层级的CPU和内存负载显示哪个进程造成了特定的负载;如果已经安装内核补丁可以显示每个进程的硬盘和网络负载。输入下面的命令启动atop:

到此这篇关于在Linux中查看所有正在运行的进程的方法的文章就介绍到这了,更多相关Linux查看正在运行进程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux下查看端口占用进程号,程序名的方法

    linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/local/cnbj/tomcat-bj/bin # lsof -i:859 运行后的结果: COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME java 24907 root 31u IPv4 248905027 TCP *:859 (LISTEN) 由以上我们知道了859端口被进程号为24907的进程占用了, 是个java进程. 2. 查看进程

  • 详解Linux如何查看当前占用CPU或内存最多的几个进程

    命令 ps -aux | sort -k4nr | head -N 命令详解: 1.head:-N可以指定显示的行数,默认显示10行. 2.ps:参数a指代all--所有的进程,u指代userid--执行该进程的用户id,x指代显示所有程序,不以终端机来区分. ps -aux的输出格式如下: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 19352 1308 ? Ss Jul29 0:00 /sbin/

  • Linux/window下怎样查看某个端口被哪个程序/进程占用

    Windows: C:/Users/ewanbao>netstat -aon|findstr "123" TCP 127.0.0.1:55123 0.0.0.0:0 LISTENING 5092 TCP 127.0.0.1:55123 127.0.0.1:55124 ESTABLISHED 5092 TCP 127.0.0.1:55124 127.0.0.1:55123 ESTABLISHED 5092 UDP 0.0.0.0:123 *:* 1416 UDP [::]:123

  • LINUX查看进程的4种方法(小结)

    进程是在 CPU 及内存中运行的程序代码,而每个进程可以创建一个或多个进程(父子进程). **查看进程方法:** 第一种: ps aux ps命令用于报告当前系统的进程状态.可以搭配kill指令随时中断.删除不必要的程序.ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的. a:显示当前终端下的所有进程信息,包括其他用户的进程. u:使用以用户为主

  • 深入理解linux下查看进程内存的使用情况

    动态查看一个进程的内存使用 复制代码 代码如下: 1.top命令top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s如果想根据内存使用量进行排序,可以shift + m(Sort by memory usage) 静态查看一个进程的内存使用 复制代码 代码如下: 1.pmap命令pmap pid 2.ps命令ps aux|grep process_name 3.查看/proc/process_id/文件夹下的status文件Name:   ph

  • Linux查看端口、进程情况及kill进程的方法

    看端口: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat –apn 查看所有的进程和端口使用情况.发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用. 进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看 就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉! 方法二:直接使用 n

  • linux下查看swap分区被哪些进程占用实现脚本

    相信很多的系统管理员可能都遇见过这样的情况,用登录一台服务器,使用free命令查看内存,却发现swap分区被占用.那么到底是什么进程占用了这部分swap分区呢? 从2.6.16版本的kernel开始,我们可以使用proc文件系统中的smaps来查找这个问题.下边是一个列出所有进程占用swap分区情况的列表.可以通过简单修改就可以用于统计在/proc/$PID/smaps查出.以下是脚本: 复制代码 代码如下: for i in `cd /proc;ls |grep "^[0-9]"|a

  • Linux如何查看进程栈信息示例

    今天在Linux上调试程序程序的时候发现有时候程序会莫名其妙的hang住,于是就想能不能找到当时程序有那些线程,都在做什么.找了一下linux命令,还真可以满足我的需求.下面看一个小例子. 先准备一段程序,为了简单起见这里使用python来写,其中创建了两个线程来执行各自的任务. import threading import time def test1(): while(True): time.sleep(1) print 'test1' def test2(): while(True):

  • Linux查看进程的所有信息的方法示例

    服务器上有一个任务进程,当我们使用ps -ef | grep task查看时,只能得到一些最基本的信息,假如我们需要知道对应的文件路径.启动命令的完整路径,就无从下手了. 今天教大家一个方法来查看进程的所有信息,包括启动命令的完整路径.对应的文件完整路径等等信息:ls -l /proc/PID 例如使用ps -ef | grep webhook查看进程时,只能得到如下信息 > ps -ef | grep webhook root 15902 1 0 Aug15 ? 00:00:00 python

  • linux下查看系统进程占用的句柄数方法

    ---查看系统默认的最大文件句柄数,系统默认是1024 # ulimit -n 1024 ----查看当前进程打开了多少句柄数 # lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 131 24204 57 24244 57 24231 ........ 其中第一列是打开的句柄数,第二列是进程ID. 可以根据ID号来查看进程名. # ps aef|grep 24204 nginx 24204 24162 99 16:15 ? 00:24:25

  • Linux下查看进程打开的文件句柄数和如何修改方法

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进程)1024完全足够使用.但是如何象squid.mysql.java等单进程处理大量请求的应用来说就有 点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到"too many files open"的错误提示.如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮

随机推荐