![](https://www.alaica.com/wp-content/uploads/linux-13.gif)
我正在使用 ps 命令读取 Unix / Linux 操作系统下当前进程的快照。但是,ps -e或ps aux仅显示命令/进程名称。我需要查看有关该进程的完整信息,包括传递给它的所有参数。如何在 Unix/Linux 下使用 ps 命令查看它?
要查看类 Unix 系统上的每个进程,请使用以下标准语法:
ps -e ps -ef ps -eF ps -ely ps axu
输出示例:
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD 根 1 0 0 2101 792 6 11:17 ?00:00:02 初始化 [2] 根 2 0 0 0 0 1 11:17 ?00:00:00 [kthreadd] 根 3 2 0 0 0 0 11:17 ?00:00:00 [ksoftirqd/0] 根 6 2 0 0 0 0 11:17 ?00:00:00 [迁移/0] 根 7 2 0 0 0 0 11:17 ?00:00:00 [看门狗/0] 根 8 2 0 0 0 1 11:17 ?00:00:00 [迁移/1] 根 10 2 0 0 0 1 11:17 ?00:00:00 [ksoftirqd/1] 根 12 2 0 0 0 1 11:17 ?00:00:00 [看门狗/1] 根 13 2 0 0 0 2 11:17 ?00:00:00 [迁移/2] 根 15 2 0 0 0 2 11:17 ?00:00:00 [ksoftirqd/2] .... .... .. 维维克 3633 2901 0 223266 82628 5 11:43 ?00:00:01 /opt/google/chrome/chrome --type=渲染器 --lang=en-US --force-fieldtest=CacheListSize/CacheLi 维维克 3641 3005 0 5563 5028 0 11:43 点/2 00:00:00 bash 根 3756 2 0 0 0 4 11:44 ?00:00:00 [kworker/4:2] 根 3757 2 0 0 0 6 11:44 ?00:00:02 [kworker/6:0] 根 3781 2 0 0 0 0 11:46 ?00:00:00 [kworker/0:0] 根 3789 2 0 0 0 3 11:46 ?00:00:00 [kworker/3:0] 根 3994 2 0 0 0 2 11:48 ?00:00:00 [kworker/2:0]
但是,由于屏幕大小限制,这不会显示传递给命令的所有命令行参数。您需要在 aux 之后添加“ww”,如下所示,以获取有关进程的完整信息(包括所有命令行参数):
PS辅助WWW
输出示例:
用户 PID %CPU %MEM VSZ RSS TTY STAT 启动时间命令 根 1 0.1 0.0 8404 792 ?SS 11:17 0:02 初始化 [2] 根 2 0.0 0.0 0 0 ?S 11:17 0:00 [kthreadd] 根 3 0.0 0.0 0 0 ?S 11:17 0:00 [ksoftirqd/0] 根 6 0.0 0.0 0 0 ?S 11:17 0:00 [迁移/0] 根 7 0.0 0.0 0 0 ?S 11:17 0:00 [看门狗/0] root 8 0.0 0.0 0 0 ? S 11:17 0:00 [migration/1] root 10 0.0 0.0 0 0 ? S 11:17 0:00 [ksoftirqd/1] root 12 0.0 0.0 0 0 ? S 11:17 0:00 [watchdog/1] root 13 0.0 0.0 0 0 ? S 11:17 0:00 [migration/2] .... ..... .. root 1705 0.0 0.0 70340 4200 ? Ss 11:19 0:00 /usr/sbin/NetworkManager root 1711 0.0 0.0 59936 2524 ? S 11:19 0:00 /usr/sbin/modem-manager bind 1713 0.0 0.4 256904 32532 ? Ssl 11:19 0:01 /usr/sbin/named -u bind root 1755 0.0 0.0 28312 1976 ? S 11:19 0:00 /sbin/wpa_supplicant -u -s root 1758 0.0 0.0 24340 1168 ? S 11:19 0:00 hald-addon-input: Listening on /dev/input/event17 /dev/input/event10 /dev/input/event0 /dev/input/event4 /dev/input/event3 /dev/input/event1 /dev/input/event7 /dev/input/event6 /dev/input/event8 /dev/input/event5 /dev/input/event15 root 1767 0.0 0.0 24332 1168 ? S 11:19 0:00 /usr/lib/hal/hald-addon-generic-backlight root 1768 0.0 0.0 24332 1168 ? S 11:19 0:00 /usr/lib/hal/hald-addon-rfkill-killswitch www-data 1782 0.0 0.0 58156 1352 ? S 11:19 0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf www-data 1790 0.0 0.0 92828 7568 ? Ss 11:19 0:00 /usr/bin/php-cgi root 1795 0.0 0.0 24336 1396 ? S 11:19 0:00 hald-addon-storage: polling /dev/sr0 (every 2 sec) root 1801 0.0 0.0 24348 1172 ? S 11:19 0:00 /usr/lib/hal/hald-addon-cpufreq 111 1802 0.0 0.0 26156 1236 ? S 11:19 0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket root 1815 0.0 0.0 4004 624 ? S 11:19 0:00 /bin/sh /usr/bin/mysqld_safe www-data 1937 0.0 0.0 92828 3224 ? S 11:19 0:00 /usr/bin/php-cgi www-data 1938 0.0 0.0 92828 3224 ? S 11:19 0:00 /usr/bin/php-cgi www-data 1939 0.0 0.0 92828 3224 ? S 11:19 0:00 /usr/bin/php-cgi www-data 1940 0.0 0.0 92828 3224 ? S 11:19 0:00 /usr/bin/php-cgi mysql 1942 0.0 0.4 172232 33108 ? Sl 11:19 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 root 1943 0.0 0.0 3904 588 ? S 11:19 0:00 logger -t mysqld -p daemon.error root 2008 0.0 0.0 0 0 ? S 11:19 0:00 [kworker/1:2] root 2083 0.0 0.0 74304 2992 ? Sl 11:19 0:00 /usr/sbin/gdm3 root 2096 0.0 0.0 99764 4264 ? Sl 11:19 0:00 /usr/lib/gdm3/gdm-simple-slave --display-id /org/gnome/DisplayManager/Display1 根 2106 2.5 2.7 313204 222816 tty7 Ss+ 11:19 0:52 /usr/bin/Xorg:0 -br -verbose -audit 0 -novtswitch -auth /var/run/gdm3/auth-for-Debian-gdm-sioDyr/数据库-nolisten tcp vt7
-w 选项用于宽输出。使用此选项两次可获得无限宽度。您可以使用外壳管道来过滤输出,如下所示:
示例输出:
$ ps auxww | grep pid
$ ps auxww | grep mysqld
$ ps auxww | grep --color mysqld
![图01:ps auxww 实际操作(点击放大)](https://www.alaica.com/wp-content/uploads/linux-46.png)
图01:ps auxww 实际操作(点击放大)
控制 ps 输出
ps 命令的 -o 选项可用于查看用户定义格式的输出。在此示例中,查看具有用户定义格式的每个进程:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu, stat ,wchan: 14 , comm ps axo stat ,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu, comm ps -eopid,tt,用户,fname,tmout,f,wchan
您只能使用以下格式查看 PID、命令及其参数:
ps axo pid、命令、参数
输出示例:
![Unix/Linux ps命令输出格式控制命令](https://www.alaica.com/wp-content/uploads/linux-47.png)
图02:Unix/Linux ps命令输出格式控制命令
关于默认输出格式的注意事项
设置 PS_FORMAT shell 变量以覆盖默认输出格式。您可以将其设置为用于 -o 选项的类型的格式字符串。
导出 PS_FORMAT =pid,命令,args ps auxww