linux中查看进程命令ps aux和ps -ef

linux中查看进程命令ps aux和ps -ef,第1张

Linux下显示系统进程命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

ps -ef 是用标准的格式显示进程的、其格式如下: 

其中各列的内容意思如下 

UID //用户ID、但输出的是用户名 

PID //进程的ID 

PPID //父进程ID 

C //进程棚纤弯占用CPU的百分比 

STIME //进程启动到现在的时间 

TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网竖脊络连接主机进程。 

CMD //命令的名称和参数

ps aux 是用BSD的格式来显示、其格式如下: 

同ps -ef 不同的有列有 

USER //用户名 

%CPU //进程占用的CPU百分比 

%MEM //占用内存的百分比 

VSZ //该进程使用的虚拟内存量(KB) 

RSS //该进程占用的固定内存量(KB)(驻留中页的数量) 

STAT //进程的状态 

START //该进程被触发启动时间 

TIME //该进程实际使用CPU运行的时间

其中STAT状态位常见的状态字符有 

D //无法中断的休眠状态(通常 IO 的进程); uninterruptible sleep (usually IO)不可中断 

R //正在运行可中在队列中可过行的; 

S //处于休眠状态; 

T //停止或被追踪; traced or stopped 

W //进入内存交换 (从内核2.6开始无效); 

X //死掉的进程 (基本很少见); 

Z //僵尸进程;  a defunct (”zombie”) process

<//优先级高的进程 

N //优先级较低的进程 

L //有些页被链闷锁进内存; 

s //进程的领导者(在它之下有子进程); 

l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 

+ //位于后台的进程组;

ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,

当您第一次执行这个命令时估计要惊呆下,这么多输出值怎么看的过来?其实把ps命令与管道符技术搭配使用,用于来抓取到某个指定服务进程所对应的PID号码,常见的ps命令参数包括有:

-a    显示所有的进程(包括其他用户的)    

-u    用户以及其他详细信息  

-x    显示没有控制终端的进程  

Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于对系统的性能优化,Linux系统中进程最常毕粗裤见的5种不同的状态是运行、中断、不可中断、僵死与停止,它们的含义分别是:

R(运行):正在运行或在运行队列中等待。

S(中断):休眠中, 在等待某个条件的形成或接收到信号。

D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生手简。

Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。

T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。

当执行"ps aux"命令后通常会看到下面格式的进程状态,表格中只是列举了部分输出值,而且正常的输出值中不包括中文注释部分:

top命令用于动态的监视进程活动与系统负载等信息,格式为:“top”。

top命令可真的是太厉害了,它能够动态的查看系统运维状态,完全可以比喻成是“强化版的linuxprobediancom/chapter-02.html#23任务管理器”。

top命令前面的五行为系统整体的统计信息:

第1行:系统时间,运行时间,登录终端数,系统负载(分别为1分钟、5分钟、15分钟的平均值,数值越小意味着负载越低)。

第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。

第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。

此行凳磨数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU处理器资源正在空闲中。

第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。

第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。

方法如下:

linux下查看某个进程的启动命令的方法茄差:

在Linux下,如果需要查看颤野皮进程的启动时间,常用ps aux命令,但是ps aux命令的缺陷在于只能显示时间到年、日期、或者时间,无法具体到年月日时分秒。如果需要查看某个进程的具体启动时间,使用ps -p PID -o Istart,其中,PID为某个进程的进程ID号。

如下所示,显示系统中所有httpd进程的具体启动时间。for pid in $(pgrep httpd)do echo -n "${pid} " ps -p ${pid} -olstart I grep -v "START" done。

301 Mon Aug 2711:21:59 2012。344 Mon Aug 2711:33:13 2012。25065 Sun Aug 26 03:27:03 2012。25066 Sun Aug 26 03:27:03 2012。25067 Sun Aug 26 03:27:03 2012。脊游25068 Sun Aug 26 03:27:03 2012。25069 Sun Aug 2603:27:03 2012。25070 Sun Aug 26 03:27:03 2012。25071 Sun Aug 26 03:27:03 2012。25072 Sun Aug 26 03:27:03 2012。27903 Wed Jun 20 22:50:47 2012。32767 Mon Aug 27 11:21:48 2012。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12452367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存