ps 究竟是 aux 还是 ef
时间:2022-07-22
本文章向大家介绍ps 究竟是 aux 还是 ef,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 Overview
相信肯定会有同学有遇到过一个面试题,问:如何查看系统当前所有的进程?
这个答案相信大部分人都知道,当然就是 ps
了。但是,如果你回到 ps aux
,如果考官问你是否知道 ps -ef
呢?又或者反过来呢?
本文就这个问题简单解答一下。
2 aux or ef
这种问题要解决,也是非常容易的,当然就是查手册了!man ps
。
...省略...
To see every process on the system using standard syntax:
ps -e
ps -ef
ps -eF
ps -ely
To see every process on the system using BSD syntax:
ps ax
ps axu
...省略...
很明显,不管是 ps aux
还是 ps -ef
,都能打印系统所有的进程,那么局别在哪里呢?其实就是在于打印的格式。
3 stand syntax
举个例子。
# ps -ef | head -n 10
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 2018 ? 00:02:04 /sbin/init
root 2 0 0 2018 ? 00:00:05 [kthreadd]
root 3 2 0 2018 ? 00:03:03 [ksoftirqd/0]
root 5 2 0 2018 ? 00:00:00 [kworker/0:0H]
root 8 2 0 2018 ? 00:02:15 [migration/0]
root 9 2 0 2018 ? 00:00:00 [rcu_bh]
4 BSD syntax
举个例子。
ps aux | head -n 10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 22388 1620 ? Ss 2018 2:04 /sbin/init
root 2 0.0 0.0 0 0 ? S 2018 0:05 [kthreadd]
root 3 0.0 0.0 0 0 ? S 2018 3:03 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 2018 0:00 [kworker/0:0H]
root 8 0.0 0.0 0 0 ? S 2018 2:15 [migration/0]
root 9 0.0 0.0 0 0 ? S 2018 0:00 [rcu_bh]
root 10 0.0 0.0 0 0 ? S 2018 0:00 [rcuob/0]
root 11 0.0 0.0 0 0 ? S 2018 0:00 [rcuob/1]
root 12 0.0 0.0 0 0 ? S 2018 0:00 [rcuob/2]A
5 Summary
从以上那个回答来看 ps -e
和 ps ax
是几乎相同的,但是我们从手册可以看到,-f
和 x
选项会有一些局别,如下。
...省略...
x Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps), or to list all processes when used together with the a option.
...省略...
-f does full-format listing. This option can be combined with many other UNIX-style options to add additional columns. It also causes the command arguments to be printed. When used with -L, the NLWP (number of threads) and LWP (thread ID) columns will be added. See the c option, the format keyword args, and the format keyword comm.
根据手册来看,x
就是打印 BSD 风格,-f
同样也是打印格式的问题。
总体来说,如果只是需要 grep
或者拉进程号之列的操作,以上区别是没有实际意义的,用户可以忽略。
- ADO.NET入门教程(二)了解.NET数据提供程序
- ADO.NET入门教程(三) 连接字符串,你小觑了吗?
- ADO.NET入门教程(四) 品味Connection对象
- ADO.NET入门教程(五) 细说数据库连接池
- ADO.NET入门教程(六) 谈谈Command对象与数据检索
- ADO.NET入门教程(七) 谈谈Command对象高级应用
- ADO.NET入门教程(八) 深入理解DataAdapter(上)
- 深入理解DIP、IoC、DI以及IoC容器
- C#委托使用详解(Delegates)
- LINC switch系列之安装指南
- 设计模式成长记(一) 抽象工厂模式(Abstract Factory)
- 基于Open vSwitch的VxLAN隧道实验网络
- 来来来,快来围观那个Kotlin
- 怎样提高网站访问速度缩短网页加载时间
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- js键盘键值大全
- mysql用户创建+密码修改+删除用户+角色分配 的正确姿势 实践笔记
- Centos7 安装 Nginx 的正确姿势 并设置开机自启 实践笔记
- js函数大全(2)
- HTML之打开/另存为/打印/刷新/查看原文件等按钮的代码
- Centos7 安装 Keepalived+Nginx 双机热备HA 的正确姿势 并开机自启 实践笔记
- 从 findbugs-maven-plugin 到 spotbugs-maven-plugin 帮你找到代码中的bug
- nmap常用命令检查主机在线与在线主机端口开放情况
- 想做测试工程师的可以看看
- nginx 实现Web应用程序的负载均衡
- 线上遇到nginx Cors跨域请求OPTIONS方法405 Method Not Allowed问题
- 常见Linux命令的正确打开姿势 实践笔记 更新中
- 用gogs轻松搭建个人的git服务器
- Centos7 activemq启动失败 解决 的正确姿势 实践笔记
- 所谓并发编程,所谓有其三