十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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);
+ //位于后台的进程组;
查看全格式、风格不同。
1、ps-ef用于查看全格式的全部进程,ps-aux也是用于查看进程,其中“ps”是在Linux中是查看进程的命令,“-e”参数代表显示所有进程,“-f”参数代表全格式。
2、aux是BSD风格,显示的项目有:USER,PID,CPU,MEM,VSZ、RSS,TTY,STAT,START,TIME,COMMAND,而-ef是SystemV风格,显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD。
他们其实结果信息都差不多只是输出的格式有点不一样。他们其实是unix的两种风格,aux用于unix bsd style中,而ef用于system v style里面。
ps命令用于获取有关在Linux,Unix和BSD系统上运行的进程的详细信息。 ps有一些流行的选项和用例,其中一个是aux选项。
ps命令的默认行为是仅列出当前用户进程。 所有其他用户拥有的进程将不会显示。 a选项也会打印所有其他用户进程。 《Linux就该这么学》
关于显示流程信息的默认行为不会打印流程的所有者。 但是在大多数情况下,流程所有者数据将非常有帮助。 因此,我们可以使用u选项来显示进程所有者。
ps默认情况下仅显示终端连接过程。 如果要显示其他未连接到终端的进程,可以使用x选项。
# a 选项也会打印所有其他用户进程。
# u 显示进程所有者。
# x 显示其他未连接到终端的进程
l题主你好,
ps-aux简单来说就是回显所有进程的信息;
grep sshd 表示使用grep查找包含sshd的行;
将这两个命令用管道符连起来表示:
在ps -aux回显的所有进程信息中查找包含sshd的行并显示在终端里.
-------------------------
linux系统中, 正常情况下, 每个程序启动后, 在进程列表中都能看到相对应的信息, 而对系统中进程信息的查看就是通过ps命令: 下面是我系统中ps -aux显示的进程信息的一部分:
可以看到进程信息很多, 如果系统里面运行的程序多了,可能会有上百行, 甚至更多, 此时我们只想看包含字符串sshd的行,则可以直接使用, ps -aux | grep sshd, 我系统上恰好就有sshd这个进程, 看下测试截图:
写在最后, 说简单些, grep命令就相同于一个过滤器, 从众多行中将符合条件的行给挑出来.
希望可以帮到题主, 欢迎追问