海阔天空任我飞 發表於 2024-1-25 00:00:00

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&lt; 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);&lt;=进程优先级高于普通优先级;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&lt; ?   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);&lt;=进程优先级高于普通优先级;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]
查看完整版本: Linux监视进程之ps命令详解