ps命令查看進程指定項目信息、用戶名過長顯示UID


有次一個在使用ps命令時,發現部分用戶顯示的是用戶名,有些用戶顯示的是UID,那是因為用戶名長度超過8位的;也就是說ps命令用戶名列默認只能顯示8位(含8位)的用戶名,超過8位就顯示UID,如何讓長度變大呢?
 
創建了兩個賬戶,分別是12345678(UID:505)、123456789(UID:506),用ps命令查看進程
 
  1. [root@server2 ~]# ps -ef
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 1 0 0 02:34 ? 00:00:00 init [3]
  4. root 2 1 0 02:34 ? 00:00:03 [migration/0]
  5. root 3 1 0 02:34 ? 00:00:00 [ksoftirqd/0]
  6. root 4 1 0 02:34 ? 00:00:03 [migration/1]
  7. root 5 1 0 02:34 ? 00:00:00 [ksoftirqd/1]
  8. root 6 1 0 02:34 ? 00:00:09 [events/0]
  9. root 2380 17 0 02:35 ? 00:00:00 [kmpath_handlerd]
  10. root 2402 17 0 02:35 ? 00:00:00 [kjournald]
  11. root 2425 4238 0 08:54 ? 00:00:00 sshd: root@pts/2
  12. root 2429 2425 0 08:54 pts/2 00:00:00 -bash
  13. oracle 2505 1 0 08:55 ? 00:00:00 ora_cjq0_lanv
  14. root 2580 4238 0 08:56 ? 00:00:00 sshd: 123456789 [priv]
  15. 506 2585 2580 0 08:56 ? 00:00:00 sshd: 123456789@pts/3
  16. 506 2590 2585 0 08:56 pts/3 00:00:00 -bash
  17. root 2716 4238 0 09:09 ? 00:00:00 sshd: 12345678 [priv]
  18. 12345678 2723 2716 0 09:09 ? 00:00:00 sshd: 12345678@pts/4
  19. 12345678 2730 2723 0 09:09 pts/4 00:00:00 -bash
8位用戶名的賬戶能夠顯示完整的用戶名,9位用戶名的賬戶就顯示了UID
 
通過修改UID列名來調整UID列顯示寬度,列名是9位,那么用戶名就可以是9位,以此類推……
 
  1. [root@server2 ~]# ps -o ruser=user9wei9 -e -o pid,ppid,c,stime,tty,time,cmd
  2. user9wei9 PID PPID C STIME TT TIME CMD
  3. root 1 0 0 02:34 ? 00:00:00 init [3]
  4. root 2 1 0 02:34 ? 00:00:03 [migration/0]
  5. oracle 588 1 0 05:25 ? 00:00:00 ora_q001_lanv
  6. root 596 17 0 02:35 ? 00:00:00 [kauditd]
  7. root 2363 4238 0 08:53 ? 00:00:00 sshd: root@pts/1
  8. root 2425 4238 0 08:54 ? 00:00:00 sshd: root@pts/2
  9. root 2429 2425 0 08:54 pts/2 00:00:00 -bash
  10. root 2580 4238 0 08:56 ? 00:00:00 sshd: 123456789 [priv]
  11. 123456789 2585 2580 0 08:56 ? 00:00:00 sshd: 123456789@pts/3
  12. 123456789 2590 2585 0 08:56 pts/3 00:00:00 -bash
  13. root 2716 4238 0 09:09 ? 00:00:00 sshd: 12345678 [priv]
  14. 12345678 2723 2716 0 09:09 ? 00:00:00 sshd: 12345678@pts/4
  15. 12345678 2730 2723 0 09:09 pts/4 00:00:00 -bash
  16. root 2807 2429 0 09:15 pts/2 00:00:00 ps -o ruser=user9wei9 -e -o pid,ppid,c,stime,tty,time,cmd

UID列名被改為user9wei9,長度是9位,這樣就能顯示9位的用戶名了。

如果你需要查看用戶uid,-o uid即可。

ps [選項]
下面對命令選項進行說明:
-e   顯示所有進程。
-f    全格式。
-h   不顯示標題。
-l    長格式。
-w  寬輸出。
a    顯示終端上的所有進程,包括其他用戶的進程。
r    只顯示正在運行的進程。

u  以用戶為主的格式來顯示程序狀況。

x     顯示所有程序,不以終端機來區分。

更多命令:

ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm
$ ps -e -o pid,uname,pcpu,pmem,comm
$ ps --ppid 28208
$ ps aux --sort=-pcpu,+pmem
$ ps aux --sort=-pcpu,+pmem | head 5
$ ps -f -u nova,neutron


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM