在linux下運行了5個java程序: A,B,C,D,E。由於java程序的運行,是通過java虛擬機解釋字節碼而執行的,所以通過top命令,只能看到運行的java虛擬機,無法真正分清楚哪個進程是哪個特定的java程序。
[code]$ top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 74630 user 20 0 5418m 1.2g 8912 S 72.4 8.0 1288:55 java 35573 user 20 0 5972m 68m 4952 S 6.0 0.4 889:01.43 java 25454 user 20 0 5907m 146m 5096 S 2.7 0.9 1533:30 java 75423 user 20 0 6397m 152m 4944 S 2.0 1.0 2758:36 java 53166 user 20 0 5907m 279m 5128 S 1.7 1.8 27:11.51 javatop命令用於查看最活躍進程的實時信息,而ps提供的是進程的快照。要查看具體某個進程是用什麼命令啟動的,可以通過ps命令來查看。
[code]$ ps -ef UID PID PPID C STIME TTY TIME CMD root 2061 2 0 2015 ? 00:48:43 [nfsiod] root 2062 2 0 2015 ? 00:00:00 [nfsv4.0-svc] root 2082 1 0 2015 tty1 00:00:00 /sbin/mingetty /dev/tty1 user 74630 1 0 Mar18 ? 00:11:37 java -cp conf:lib/*;A.jar ...可以看到輸出中用java命令啟動java程序A的記錄。將ps的輸出用grep繼續過濾,就能看到所有java進程的信息了。
[code]$ ps -ef | grep java