网站建设小故事,北京易点云是什么公司,电子商务网站建设域名,男的女的做那个的视频网站文章目录介绍语法格式常用选项命令示例示例 1#xff0c;查看进程的 PID、名称以及 CPU 占用率示例 2#xff0c;查看所有的进程示例 3#xff0c;按内存资源的使用量对进程进行排序示例 4#xff0c;按 CPU 资源的使用量对进程进行排序示例 5#xff0c;显示所有进程信息…
文章目录介绍语法格式常用选项命令示例示例 1查看进程的 PID、名称以及 CPU 占用率示例 2查看所有的进程示例 3按内存资源的使用量对进程进行排序示例 4按 CPU 资源的使用量对进程进行排序示例 5显示所有进程信息示例 6显示指定用户的进程信息示例 7查看所有进程示例 8显示所有进程信息连同命令行示例 9结合命令 grep 查看指定进程的信息示例 10通过名字或命令查看指定进程信息示例 11查看所有进程并按 CPU 降序内存升序示例 12用树的风格显示进程的层次关系示例 13显示一个父进程的子进程示例 14重定义标签即自定义显示栏的名称或者说显示列的名称示例 15显示进程运行的时间示例 16查看指定进程的详细信息示例 17通过进程 id 获取服务名称示例 18将目前属于您自己这次登入的进程与相关信息列示出来字段说明示例 19列出目前所有正在内存当中的程序字段说明示例 20按程序树的形式来显示进程的信息示例 21查看服务名称含有 cron 或者 syslog 的进程信息示例 22把所有进程显示出来并输出到 ps001.txt 文件示例 23用管道符 | 管道和 more 连接起来分页查看所有的进程示例 24按指定的字段来显示进程的信息介绍
ps 命令是“process status”的缩写ps 命令用于显示当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps 命令是最基本同时也是非常强大的进程查看命令使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等总之大部分信息都是可以通过执行该命令得到的。
语法格式
ps [选项]
常用选项
选项说明-a显示所有终端机下执行的程序除了阶段作业领导者之外。a显示现行终端机下的所有程序包括其他用户的程序。-A显示所有程序。-c显示CLS和PRI栏位。c列出程序时显示每个程序真正的指令名称而不包含路径选项或常驻服务的标示。-C指令名称指定执行指令的名称并列出该指令的程序的状况。-d显示所有程序但不包括阶段作业领导者的程序。-e此选项的效果和指定A选项相同。e列出程序时显示每个程序所使用的环境变量。-f显示UID,PPIP,C与STIME栏位。f用ASCII字符显示树状结构表达程序间的相互关系。-g群组名称此选项的效果和指定-G选项相同当亦能使用阶段作业领导者的名称来指定。g显示现行终端机下的所有程序包括群组领导者的程序。-G群组识别码列出属于该群组的程序的状况也可使用群组名称来指定。h不显示标题列。-H显示树状结构表示程序间的相互关系。-j 或 j采用工作控制的格式显示程序状况。-l 或 l采用详细的格式来显示程序状况。L列出栏位的相关信息。-m 或 m显示所有的执行绪。n以数字来表示USER和WCHAN栏位。-N显示所有的程序除了执行ps指令终端机下的程序之外。-p程序识别码指定程序识别码并列出该程序的状况。p程序识别码此选项的效果和指定-p选项相同只在列表格式方面稍有差异。r只列出现行终端机正在执行中的程序。-s阶段作业指定阶段作业的程序识别码并列出隶属该阶段作业的程序的状况。s采用程序信号的格式显示程序状况。S列出程序时包括已中断的子程序资料。-t终端机编号指定终端机编号并列出属于该终端机的程序的状况。t终端机编号此选项的效果和指定-t选项相同只在列表格式方面稍有差异。-T显示现行终端机下的所有程序。-u用户识别码此选项的效果和指定-U选项相同。u以用户为主的格式来显示程序状况。-U用户识别码列出属于该用户的程序的状况也可使用用户名称来指定。U用户名称列出属于该用户的程序的状况。v采用虚拟内存的格式显示程序状况。-V 或 V显示版本信息。-w 或 w采用宽阔的格式来显示程序状况。x显示所有程序不以终端机来区分。X采用旧式的Linux i386登陆格式显示程序状况。-y配合选项-l使用时不显示F(flag)栏位并以RSS栏位取代ADDR栏位 。-程序识别码此选项的效果和指定p选项相同。–cols每列字符数设置每列的最大字符数。–columns每列字符数此选项的效果和指定–cols选项相同。–cumulative此选项的效果和指定S选项相同。–deselect此选项的效果和指定-N选项相同。–forest此选项的效果和指定f选项相同。–headers重复显示标题列。–help在线帮助。–info显示排错信息。–lines显示列数设置显示画面的列数。–no-headers此选项的效果和指定h选项相同只在列表格式方面稍有差异。–group群组名称此选项的效果和指定-G选项相同。–Group群组识别码此选项的效果和指定-G选项相同。–pid程序识别码此选项的效果和指定-p选项相同。–rows显示列数此选项的效果和指定–lines选项相同。–sid阶段作业此选项的效果和指定-s选项相同。–tty终端机编号此选项的效果和指定-t选项相同。–user用户名称此选项的效果和指定-U选项相同。–User用户识别码此选项的效果和指定-U选项相同。–version此选项的效果和指定-V选项相同。–widty每列字符数此选项的效果和指定-cols选项相同。
命令示例
示例 1查看进程的 PID、名称以及 CPU 占用率
[roothtlwk0001host ~]# ps axo pid,comm,pcpuPID COMMAND %CPU1 systemd 0.02 kthreadd 0.03 rcu_gp 0.04 rcu_par_gp 0.06 kworker/0:0H 0.08 mm_percpu_wq 0.0
示例 2查看所有的进程
[roothtlwk0001host ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 179148 9780 ? Ss 2020 12:36 /usr/lib/syst
root 2 0.0 0.0 0 0 ? S 2020 0:02 [kthreadd]
root 3 0.0 0.0 0 0 ? I 2020 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I 2020 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I 2020 0:00 [kworker/0:0H
root 8 0.0 0.0 0 0 ? I 2020 0:00 [mm_percpu_wq
root 9 0.0 0.0 0 0 ? S 2020 0:05 [ksoftirqd/0]示例 3按内存资源的使用量对进程进行排序
[roothtlwk0001host ~]# ps aux | sort -rnk 4示例 4按 CPU 资源的使用量对进程进行排序
[roothtlwk0001host ~]# ps aux | sort -nk 3示例 5显示所有进程信息
[roothtlwk0001host ~]# ps -APID TTY TIME CMD1 ? 00:12:36 systemd2 ? 00:00:02 kthreadd3 ? 00:00:00 rcu_gp4 ? 00:00:00 rcu_par_gp[roothtlwk0001host ~]# ps -aux # 也是查看所有的进程示例 6显示指定用户的进程信息
[roothtlwk0001host ~]# ps -u rootPID TTY TIME CMD1 ? 00:12:36 systemd2 ? 00:00:02 kthreadd3 ? 00:00:00 rcu_gp示例 7查看所有进程
[roothtlwk0001host ~]# ps -efL
UID PID PPID LWP C NLWP STIME TTY TIME CMD
root 1 0 1 0 1 2020 ? 00:12:36 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0 2 0 1 2020 ? 00:00:02 [kthreadd]
root 3 2 3 0 1 2020 ? 00:00:00 [rcu_gp]
示例 8显示所有进程信息连同命令行
[roothtlwk0001host ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 2020 ? 00:12:36 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0 0 2020 ? 00:00:02 [kthreadd]
root 3 2 0 2020 ? 00:00:00 [rcu_gp]示例 9结合命令 grep 查看指定进程的信息
通过 ps 与 grep 的组合用法查看进程 ssh 的信息
[roothtlwk0001host ~]# ps -ef | grep ssh示例 10通过名字或命令查看指定进程信息
查看命令 nginx 的进程信息
[roothtlwk0001host ~]# ps -C nginxPID TTY TIME CMD26556 ? 00:00:00 nginx414774 ? 00:00:23 nginx414775 ? 00:00:00 nginx示例 11查看所有进程并按 CPU 降序内存升序
[roothtlwk0001host ~]# ps aux --sort-pcpu,pmem
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 545600 0.0 0.0 17832 1580 ? Ssl 1月30 6:17 /usr/local/share/assist-daemon/assist_daemon
root 558809 0.0 0.0 13100 1596 tty5 Ss 2月02 0:00 /sbin/agetty -o -p -- \u --noclear tty5 linux
root 558808 0.0 0.0 13100 1708 tty6 Ss 2月02 0:00 /sbin/agetty -o -p -- \u --noclear tty6 linux
root 558810 0.0 0.0 13100 1756 tty4 Ss 2月02 0:00 /sbin/agetty -o -p -- \u --noclear tty4 linux
root 34295 0.0 0.0 98700 1864 ? Ss 2020 0:00 svnserve -d -r /opt/svn/qydpw/注- 表示降序 表示升序
示例 12用树的风格显示进程的层次关系
[roothtlwk0001host ~]# ps -f --forest -C nginx
UID PID PPID C STIME TTY TIME CMD
root 26556 1 0 2020 ? 00:00:00 nginx: master process nginx
root 414774 26556 0 2020 ? 00:00:23 \_ nginx: worker process
root 414775 26556 0 2020 ? 00:00:00 \_ nginx: worker process
[roothtlwk0001host ~]# 示例 13显示一个父进程的子进程
[roothtlwk0001host ~]# ps -o pid,uname,comm -C nginxPID USER COMMAND26556 root nginx414774 root nginx414775 root nginx
示例 14重定义标签即自定义显示栏的名称或者说显示列的名称
[roothtlwk0001host ~]# ps -e -o pid,unameUSERNAME,pcpuCPU_USAGE,pmem,commPID USERNAME CPU_USAGE %MEM COMMAND1 root 0.0 0.2 systemd2 root 0.0 0.0 kthreadd3 root 0.0 0.0 rcu_gp4 root 0.0 0.0 rcu_par_gp示例 15显示进程运行的时间
[roothtlwk0001host ~]# ps -e -o pid,comm,etimePID COMMAND ELAPSED1 systemd 201-06:48:462 kthreadd 201-06:48:46示例 16查看指定进程的详细信息
查看 named 进程的详细信息
[roothtlwk0001host ~]# ps -aux | grep named
root 828974 0.0 0.0 12320 1068 pts/0 S 16:51 0:00 grep --colorauto named
[roothtlwk0001host ~]# 示例 17通过进程 id 获取服务名称
[roothtlwk0001host ~]# ps -o command -p 9 | sed -n 2p
[ksoftirqd/0]示例 18将目前属于您自己这次登入的进程与相关信息列示出来
[roothtlwk0001host ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 828665 828664 0 80 0 - 7418 - pts/0 00:00:00 bash
0 R 0 828984 828665 0 80 0 - 11404 - pts/0 00:00:00 ps字段说明
在预设的情况下 ps 仅会列出与目前所在的 bash shell 有关的 PID 而已所以 当我使用 ps -l 的时候只有2个 PID。F # 代表这个程序的旗标 (flag) 例如4 代表使用者为 super user
S # 代表这个程序的状态 (STAT)
UID # 进程所属用户 ID
PID # 进程 ID
PPID # 上级父程序的ID
C CPU # 使用的资源百分比
PRI # 这个是 Priority (优先执行序) 的缩写
NI # 这个是 Nice 值
ADDR # 这个是 kernel function指出该程序在内存的那个部分。如果是个 running的程序一般就是 -
SZ # 使用掉的内存大小
WCHAN # 目前这个程序是否正在运作当中若为 - 表示正在运作
TTY # 登入者的终端机位置
TIME # 使用掉的 CPU 时间
CMD # 所下达的指令为何示例 19列出目前所有正在内存当中的程序
[roothtlwk0001host ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 179148 9780 ? Ss 2020 12:36 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root 2 0.0 0.0 0 0 ? S 2020 0:02 [kthreadd]
root 3 0.0 0.0 0 0 ? I 2020 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I 2020 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I 2020 0:00 [kworker/0:0H]字段说明
USER # 该 process 属于那个使用者账号的PID # 该 process 的编号%CPU # 该 process 使用掉的 CPU 资源百分比%MEM # 该 process 所占用的物理内存百分比VSZ # 该 process 使用掉的虚拟内存量 (Kbytes)VSZ Virtual Memory Size)表明是虚拟内存大小表明了该进程可以访问的所有内存包括被交换的内存和共享库内存。RSS # 该 process 占用的固定的内存量 (Kbytes)RSS Resident Set Size 常驻内存集合大小表示相应进程在RAM中占用了多少内存并不包含在SWAP中占用的虚拟内存。在内存中使用的共享库的内存大小也一并计算在内包含了完整的在stack和heap中的内存。TTY # 该 process 是在那个终端机上面运作若与终端机无关则显示问号 ?。另外 tty1-tty6 是本机上面的登入者程序若为 pts/0 等等的则表示为由网络连接进主机的程序。STAT # 该程序目前的状态主要的状态有R # 该程序目前正在运作或者是可被运作S # 该程序目前正在睡眠当中 (可说是 idle 状态)但可被某些讯号 (signal) 唤醒。T # 该程序目前正在侦测或者是停止了Z # 该程序应该已经终止但是其父程序却无法正常的终止他造成 zombie (疆尸) 程序的状态START # 该 process 被触发启动的时间TIME # 该 process 实际使用 CPU 运作的时间COMMAND # 该程序的实际指令示例 20按程序树的形式来显示进程的信息
[roothtlwk0001host ~]# ps -axjfPPID PID PGID SID TTY TPGID STAT UID TIME COMMAND0 2 0 0 ? -1 S 0 0:02 [kthreadd]2 3 0 0 ? -1 I 0 0:00 \_ [rcu_gp]2 4 0 0 ? -1 I 0 0:00 \_ [rcu_par_gp]2 6 0 0 ? -1 I 0 0:00 \_ [kworker/0:0H]2 8 0 0 ? -1 I 0 0:00 \_ [mm_percpu_wq]2 9 0 0 ? -1 S 0 0:05 \_ [ksoftirqd/0]2 10 0 0 ? -1 I 0 9:12 \_ [rcu_sched]2 11 0 0 ? -1 S 0 0:00 \_ [migration/0]2 12 0 0 ? -1 S 0 0:00 \_ [watchdog/0]2 13 0 0 ? -1 S 0 0:00 \_ [cpuhp/0]示例 21查看服务名称含有 cron 或者 syslog 的进程信息
[roothtlwk0001host ~]# ps aux | egrep (cron|syslog)
dbus 728 0.0 0.1 56448 5252 ? Ss 2020 9:47 /usr/bin/dbus-daemon --system --addresssystemd: --nofork --nopidfile --systemd-activation --syslog-only
root 1087 0.0 0.2 511332 9036 ? Ssl 2020 5:32 /usr/sbin/rsyslogd -n
root 1096 0.0 0.0 36092 3516 ? Ss 2020 0:10 /usr/sbin/crond -n
root 829022 0.0 0.0 12320 2448 pts/0 S 17:10 0:00 grep -E --colorauto (cron|syslog)
[roothtlwk0001host ~]#
示例 22把所有进程显示出来并输出到 ps001.txt 文件
[roothtlwk0001host ~]# ps -aux ps001.txt示例 23用管道符 | 管道和 more 连接起来分页查看所有的进程
liaowenongdeair:bin root# ps -ef|moreUID PID PPID C STIME TTY TIME CMD0 1 0 0 8:13上午 ?? 1:15.47 /sbin/launchd0 57 1 0 8:13上午 ?? 0:03.13 /usr/sbin/syslogd0 58 1 0 8:13上午 ?? 0:13.99 /usr/libexec/UserEventAgent (System)0 61 1 0 8:13上午 ?? 0:01.70 /System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld0 62 1 0 8:13上午 ?? 0:37.31 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd0 63 1 0 8:13上午 ?? 0:00.54 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted0 65 1 0 8:13上午 ?? 12:57.99 /Applications/SunloginClient.app/Contents/MacOS/SunloginClient -m service0 67 1 0 8:13上午 ?? 0:48.33 /usr/sbin/systemstats --daemon示例 24按指定的字段来显示进程的信息
liaowenongdeair:bin root# ps -o pid,ppid,uid,tpgid,commPID PPID UID TPGID COMM1630 1599 0 3183 login1637 1631 0 3183 sudo1638 1637 0 3183 -bash3183 1638 0 3183 ps