Linux监视进程之ps命令详解
<p>本文参考《UNIX/Linux系统管理技术手册》。</p>
<p>
操作系统:Debian8.5</p>
<p>
仅仅以下常用的三种组合命令的解释,更加齐全的命令请自行<code>ps --help all </code>查看。</p>
<p>
<strong>一、ps -ef</strong></p>
<p>
输出展示:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_748032">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">UID PID PPID C STIME TTY TIME CMD</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">root 1 0 0 2016 ? 00:00:28 </code><code class="bash plain">/lib/systemd/systemd</code> <code class="bash plain">--system --deserialize 15</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">root 2 0 0 2016 ? 00:00:00 </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">root 3 2 0 2016 ? 00:00:25 </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">root 5 2 0 2016 ? 00:00:00 </code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">root 7 2 0 2016 ? 00:04:57 </code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">root 8 2 0 2016 ? 00:00:00 </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">......</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出字段说明:</p>
<ul>
<li>
UID: 进程所属的用户。</li>
<li>
PID: 进程的ID。</li>
<li>
PPID: 父进程的PID。</li>
<li>
C: CPU的使用/调度信息。</li>
<li>
STIME: 启动进程的时间。</li>
<li>
TTY: 控制终端。</li>
<li>
TIME: 消耗CPU的时间。</li>
<li>
CMD: 进程执行的命令行。</li>
</ul>
<p>
<strong>二、ps aux</strong></p>
<p>
输出展示:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_974962">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">root 1 0.0 0.0 176040 3272 ? Ss 2016 0:28 </code><code class="bash plain">/lib/systemd/systemd</code> <code class="bash plain">--system --deserialize 15</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">root 2 0.0 0.0 0 0 ? S 2016 0:00 </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">root 3 0.0 0.0 0 0 ? S 2016 0:25 </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">root 5 0.0 0.0 0 0 ? S< 2016 0:00 </code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">root 7 0.0 0.0 0 0 ? S 2016 4:57 </code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">root 8 0.0 0.0 0 0 ? S 2016 0:00 </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">......</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出字段说明:</p>
<ul>
<li>
USER: 进程的所属用户。</li>
<li>
PID: 进程的ID。</li>
<li>
%CPU: 该进程正在使用的CPU百分比。</li>
<li>
%MEM: 该进程正在使用的内存百分比。</li>
<li>
VSZ: 进程的虚拟大小。</li>
<li>
RSS: 内存中页的数量。</li>
<li>
TTY: 控制终端。</li>
<li>
STAT: 当前进程状态。</li>
<li>
R=可运行;D=不可中断的休眠状态(如正在等待磁盘);S=休眠状态(Sleep);T=被跟踪或者被停止(Stop);Z=僵尸进程(Zombie);</li>
</ul>
<p>
附加标志:</p>
<ul>
<li>
W=进程被交换出去(Progress is swapping out);<=进程优先级高于普通优先级;N=进程优先级低于普通优先级;L=有些页面被锁在内存中;s=进程是会话的先导进程(Process is a session leader)</li>
<li>
START: 进程开始时间。</li>
<li>
TIME: 进程已经消耗掉的CPU时间。</li>
<li>
COMMAND: 进程执行的命令行。</li>
</ul>
<p>
<strong>三、ps lax</strong></p>
<p>
ps lax运行速度比ps aux快,因为它不必将每个UID转换成用户名。</p>
<p>
输出展示:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_916053">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">4 0 1 0 20 0 176040 3272 - Ss ? 0:28 </code><code class="bash plain">/lib/systemd/systemd</code> <code class="bash plain">--system --deserialize 15</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">1 0 2 0 20 0 0 0 - S ? 0:00 </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">1 0 3 2 20 0 0 0 - S ? 0:25 </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">1 0 5 2 0 -20 0 0 - S< ? 0:00 </code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">1 0 7 2 20 0 0 0 - S ? 4:58 </code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">1 0 8 2 20 0 0 0 - S ? 0:00 </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输出字段说明:</p>
<ul>
<li>
F: 进程标志。</li>
<li>
UID: 进程所属用户的ID。</li>
<li>
PID: 进程ID。</li>
<li>
PPID: 父进程ID。</li>
<li>
PRI: 进程的优先级,值越小代表优先级越高。</li>
<li>
NI: 进程的谦和度,也可以理解为进程的优先级,值越小代表优先级越高。</li>
<li>
VSZ: 进程的虚拟大小。</li>
<li>
RSS: 内存中页的数量。</li>
<li>
WCHAN: 进程正在等待的对象地址。</li>
<li>
STAT: 当前进程状态。</li>
<li>
R=可运行;D=不可中断的休眠状态(如正在等待磁盘);S=休眠状态(Sleep);T=被跟踪或者被停止(Stop);Z=僵尸进程(Zombie);</li>
</ul>
<p>
附加标志:</p>
<ul>
<li>
W=进程被交换出去(Progress is swapping out);<=进程优先级高于普通优先级;N=进程优先级低于普通优先级;L=有些页面被锁在内存中;s=进程是会话的先导进程(Process is a session leader)</li>
<li>
TTY: 控制终端。</li>
<li>
TIME: 进程已经消耗掉的CPU时间。</li>
<li>
COMMAND: 进程执行的命令行。</li>
</ul>
<p>
<strong>总结</strong></p>
<p>
以上就是关于Linux中ps命令的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。</p>
<p>
原文链接:http://wing324.github.io/2017/01/13/Linux监视进程之ps命令/</p>
頁:
[1]