如何在Linux中查看所有正在运行的进程

作者&投稿:剑储 (若有异议请与网页底部的电邮联系)
如何在Linux中查看所有正在运行的进程~

名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程

############################################################

常用参数:

-A 显示所有进程(等价于-e)(utility)
-a 显示一个终端的所有进程,除了会话引线
-N 忽略选择。
-d 显示所有进程,但省略所有的会话引线(utility)
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
-l 长格式(有F,wchan,C 等字段)
-j 作业格式
-o 用户自定义格式。
v 以虚拟存储器格式显示
s 以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
h 不显示第一行

############################################################

ps命令常用用法(方便查看系统进程)

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
2)ps -A 显示所有进程。
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps -e 此参数的效果和指定"A"参数相同。
5)ps e 列出程序时,显示每个程序所使用的环境变量。
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps -H 显示树状结构,表示程序间的相互关系。
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
9)ps s 采用程序信号的格式显示程序状况。
10)ps S 列出程序时,包括已中断的子程序资料。
11)ps -t  指定终端机编号,并列出属于该终端机的程序的状况。
12)ps u  以用户为主的格式来显示程序状况。
13)ps x  显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

############################################################

运行 ps aux 的到如下信息:

root:# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system


Head标头:

USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I 空闲 Idle
Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 has no resident pages 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识

############################################################

例子:
查看当前系统进程的uid,pid,stat,pri, 以uid号排序.
ps -eo pid,stat,pri,uid –sort uid

查看当前系统进程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss

############################################################

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。


1、ps 的参数说明:

ps 提供了很多的选项参数,常用的有以下几个:

l 长格式输出;
u 按用户名和启动时间的顺序来显示进程;
j 用任务格式来显示进程;
f 用树形格式来显示进程;

a 显示所有用户的所有进程(包括其它用户);
x 显示无控制终端的进程;
r 显示运行中的进程;
ww 避免详细参数被截断;

我们常用的选项是组合是 aux 或 lax,还有参数 f 的应用。


2、ps aux 或 lax 输出的解释:

USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端ID
STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;

< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
WCHAN 正在等待的进程资源;
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;


3、应用举例:

[root@localhost ~]# ps -aux |more
可以用 | 管道和 more 连接起来分页查看。
[root@localhost ~]# ps -aux > ps001.txt
把结果输出到ps001.txt文本中并保存。
[root@localhost ~]# more ps001.txt
这里是把所有进程显示出来,并输出到ps001.txt文件,然后再通过more 来分页查看。


4、kill 终止(杀死)进程,有十几种控制进程的方法,下面是一些常用的方法:
[root@localhost ~]#kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不消灭这个进程。
[root@localhost ~]#kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
[root@localhost ~]#kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
[root@localhost ~]#kill -9 -1
终止你拥有的全部进程。
SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。

可以使用top命令。top命令提供了运行中系统的动态实时视图。在终端中输入top:第一行:10:01:23当前系统时间126days,14:29系统已经运行了126天14小时29分钟(在这期间没有重启过)2users当前有2个用户登录系统loadaverage:1.15,1.42,1.44loadaverage后面的三个数分别是1分钟、5分钟、15分钟的负载情况。loadaverage数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。 第二行:Tasks任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 第三行:cpu状态6.7%us用户空间占用CPU的百分比。0.4%sy内核空间占用CPU的百分比。0.0%ni改变过优先级的进程占用CPU的百分比92.9%id空闲CPU百分比0.0%waIO等待占用CPU的百分比0.0%hi硬中断(HardwareIRQ)占用CPU的百分比0.0%si软中断(SoftwareInterrupts)占用CPU的百分比在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。第四行:内存状态8306544ktotal物理内存总量(8GB)7775876kused使用中的内存总量(7.7GB)530668kfree空闲内存总量(530M)79236kbuffers缓存的内存量(79M)第五行:swap交换分区2031608ktotal交换区总量(2GB)2556kused使用的交换区总量(2.5M)2029052kfree空闲交换区总量(2GB)4231276kcached缓冲的交换区总量(4GB)

  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


  输出示例:



能显示前运行进程相关信息包括进程PID

LinuxUNIX都支持ps命令显示所运行进程相关信息

ps命令能提供份前进程快照想状态自刷新使用top命令ps命令 输入面ps命令显示所运行进程:
能显示前运行进程相关信息包括进程PIDLinuxUNIX都支持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任务 按q退按h进入帮助任务:显示进程树状图 pstree树状显示运行进程树根节点pid或init指定用户名进程树用户所拥进程作根节点 $ 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/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 向htopatop说hello htop类似top交互式进程查看工具垂直水平滚查看所进程命令行进程相关操作(killingrenicing)需要输入PID要安装htop输入命令: # apt-get install htop 或 # yum install htop 命令提示行输入htop: # htop 输示例:图3:htop - Interactive Linux / UNIX process vieweratop工具 atop用查看Linux系统负载交互式监控工具能展现系统层级关键硬件资源(性能角度)使用情况CPU、内存、硬盘网络

名称:ps 使用权限:所有使用者 使用方式:ps [options] [--help] 说明:显示瞬间行程 (process) 的动态 参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义 -A 列出所有的进程 -w 显示加宽可以显示较多的资讯 -au 显示较详细的资讯...

ps axu
简单粗暴


如何查看linux的系统log日志
Linux系统的日志主要分为两种类型: 1.进程所属日志由用户进程或其他系统服务进程自行生成的日志,比如服务器上的access_log与error_log日志文件。 2.syslog消息系统syslog记录的日志,任何希望记录日志的系统进程或者用户进程都可以给调用syslog来记录日志。日志系统可以划分为三个子系统: 1. 连接时间日志--由多个程序...

linux下共享文件怎么查看
1、单击系统按钮选项。2、单击首选项按钮。3、单击个人文件共享。4、勾选在网络中共享,设置密码。5、最后单击关闭选项。注意事项:Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员...

linux怎么查看用户组里有哪些用户
linux的用户信息保存在\/etc\/passwd文件中,另外,\/etc\/shadow文件存放的是用户密码相关信息。\/etc\/passwd文件格式:用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell其中UID为0则是用户root,1~499为系统用户,500以上为普通用户\/etc\/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。用户...

Linux中find常见用法示例
$find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示$find . -name "*.txt" -print$find . -name "[A-Z]*" -print #查以大写字母开头的文件$find \/etc -name "host*" -print #查以host开头的文件$find . -name "[a-z][a-z][0–9][0–9].txt" -print #查以两个小写字母...

如何实时查看linux下的日志
tail 文件名,默认显示最后10行。4.接着我们把10行的默认值改成显示20行。tail -n 20 文件名 5.通过上面的铺垫,我们来看看如何动态监控日志尾部,那就是使用命令:tail -f 文件名,可以从下图看出查看日志后并没有退出,一直在等待刷新日志尾部信息。6.最后,设置下我们要监控的尾部行数。

linux 用SSH怎么查看哪些IP正在访问服务器
1、首先连接到Linux主机并进入命令行状态。2、在命令行状态下,输入命令:netstat -ntu | awk'{print $ 5}'| cut -d:-f1 |排序| uniq -c | sort -n,按Enter键。3、打印出访问服务器的IP列表。

linux查看dns命令linux查看dns
在linux系统下,如何配置DNS服务器,用域名发布网站的整个过程?力尽不知热,但惜夏日长。芳菲歇去何须恨,夏木阳阴正可人。竹外桃花三两枝,春江水暖鸭先知。寒雨连江夜人吴,平明送客楚山孤。竹外桃花三两枝,春江水暖鸭先知。野火烧不尽,春风吹又生。国破山河在,城春草木深。春种一粒粟,...

如何实时查看linux下的日志
还可以使用 watch -d -n 1 cat \/var\/log\/messages -d表示高亮不同的地方,-n表示多少秒刷新一次。该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。在Linux系统中,有三个主要的日志子系统:连接时间日志--...

linux 查询今天服务器登录历史(查看今天的服务器有谁登陆过)
语 法:last [-adRx][-f ][-n ][帐号名称…][终端机编号…]补充说明:单独执行last指令,它会读取位于\/var\/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。参 数:-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。-d 将IP地址转换成主机...

linux的常用命令有那些
linux常用命令(基础)1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls \/usr\/man ls -l a.d表示目录(directory),如果是一...

三亚市15623576666: 如何在Linux中查看所有正在运行的进程 -
貂群安谱: 你可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息.ps命令能提供一份当前进程的快照.如果你想状态可以自动刷新,可以使用top命令.ps命令 输入下面的...

三亚市15623576666: 怎么看linux下正在运行的所有的程序 -
貂群安谱: 用ps -ef命令可查看所有当前正在运行的进程

三亚市15623576666: 怎么查看linux正在运行的服务 -
貂群安谱: 1. 首先查看系统运行的进程2. 若需要查看系统当前运行的就需要用如下命令:3. # ps auxw4. 其中参数a表示显示系统中所有用户的的进程;u表示输出进程用户所属信息; x表示也5. 显示没有控制台的进程;若显示行太长而被截断则可以使用f参...

三亚市15623576666: linux怎么查看正在运行的命令 -
貂群安谱: top -bn1 或者 ps aux

三亚市15623576666: 如何查看linux 正在运行的进程 -
貂群安谱: 通过ps命令 ps -e 显示正在运行进程 ps -ef 显示正在运行进程并且不光显示进程名而是显示路径 ps -A 显示所有进程 如果想查询正在运行的oracle进程: ps -ef | grep oracle 可以列出所有oracle相关名字的进程 查询其他java之类进程依此类推.

三亚市15623576666: 如何在Linux中查看所有正在运行的进程 -
貂群安谱: 用pa aux命令可以列出所有正在运行的进程,这个命令带有一个-a选项,-a选项表示将与终端无关的进程也列出来,所以用这个ps aux命令就可以列出所有进程.

三亚市15623576666: 如何在Linux中查看所有正在运行的进程 -
貂群安谱: ps 和 top都可以看系统中正在运行的进程 ps 命令提供了当前运行进程的快照. 使用带有 -ef 选项的 ps ,返回系统中所有用户的所有进程的完整列表.如果您将此 ps 命令的结果传送到 grep 中,则该结果更易于查看.例如: $ ps -ef | grep oracle...

三亚市15623576666: 如何在Linux中查看所有正在运行的进程 -
貂群安谱: 你好.可以使用ps命令.它能显示当前运行中进程的相关信息,包括进程的PID.Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息.

三亚市15623576666: 如何查看linux上运行的程序 -
貂群安谱: vi 只是编辑器,保存退出后,可以命令行看到当前保存的文件.比如ls hello.c 接下来要用编译器来编译程序, 比如gcc hello.c -o hello 执行程序只要在命令行执行就可以了, 比如./hello 建议楼主先去了解一下基本的shell命令.

三亚市15623576666: 如何查看linux程序运行状态
貂群安谱: linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 4. 僵死(进程已终止, 但进程描述...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网