命令 java |
說明數據庫 |
手冊頁api |
ps、pgrep、prstat、pkillbash |
檢查系統中活動進程的狀態,並顯示有關這些進程的詳細信息。服務器 |
ps(1)、pgrep(1) 和 prstat(1M)dom |
pkillssh |
功能與 pgrep 相同,但經過名稱或其餘屬性來查找進程或向進程發送信號,而後終止進程。像 kill 命令同樣向每一個匹配的進程發送信號,而不列顯進程 ID。ide |
pgrep(1) 和 pkill(1)ui kill(1)spa |
pargs、preap |
協助進行進程調試。 |
pargs(1) 和 preap(1) |
dispadmin |
列出缺省進程調度策略。 |
dispadmin(1M) |
priocntl |
爲優先級類指定進程並管理進程優先級。 |
priocntl(1) |
nice |
更改分時進程的優先級。 |
nice(1) |
psrset |
將特定進程組綁定到一組處理器而非一個處理器。 |
psrset(1M) |
使用 ps 命令
使用 ps 命令能夠檢查系統中活動進程的狀態,並可顯示有關進程的技術信息。此數據對於管理任務(例如,肯定設置進程優先級的方式)頗有用。
字段 |
說明 |
UID |
進程全部者的有效用戶 ID。 |
PID |
進程 ID。 |
PPID |
父進程 ID。 |
C |
用於調度的處理器使用率。使用 -c 選項時,將不顯示此字段。 |
CLS |
進程所屬的調度類,例如實時、系統或分時。只有 -c 選項包括此字段。 |
PRI |
內核線程的調度優先級。數值越大,表示優先級越高。 |
NI |
進程的 nice 數值,該數值對其調度優先級有影響。進程的 nice 值越高,意味着其優先級越低。 |
ADDR |
proc 結構的地址。 |
SZ |
進程的虛擬地址大小。 |
WCHAN |
進程休眠的事件或鎖定的地址。 |
STIME |
以小時、分鐘和秒錶示的進程開始時間。 |
TTY |
從中啓動進程或其父級的終端。問號表示沒有控制終端。 |
TIME |
進程自開始以來使用的 CPU 時間總量。 |
CMD |
生成進程的命令。 |
列出進程
可以使用 ps 命令列出系統中的全部進程。
$ ps [-efc]
ps
只顯示與您的登陸會話關聯的進程。
-ef
顯示系統中正在執行的全部進程的所有信息。
-c
顯示進程調度程序信息。
$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 18:04:04 ? 0:15 sched
root 5 0 0 18:04:03 ? 0:05 zpool-rpool
root 1 0 0 18:04:05 ? 0:00 /sbin/init
root 2 0 0 18:04:05 ? 0:00 pageout
root 3 0 0 18:04:05 ? 2:52 fsflush
root 6 0 0 18:04:05 ? 0:02 vmtasks
daemon 739 1 0 19:03:58 ? 0:00 /usr/lib/nfs/nfs4cbd
root 9 1 0 18:04:06 ? 0:14 /lib/svc/bin/svc.startd
root 11 1 0 18:04:06 ? 0:45 /lib/svc/bin/svc.configd
daemon 559 1 0 18:04:49 ? 0:00 /usr/sbin/rpcbind
netcfg 47 1 0 18:04:19 ? 0:01 /lib/inet/netcfgd
dladm 44 1 0 18:04:17 ? 0:00 /sbin/dlmgmtd
netadm 51 1 0 18:04:22 ? 0:01 /lib/inet/ipmgmtd
root 372 338 0 18:04:43 ? 0:00 /usr/lib/hal/hald-addon-cpufreq
root 67 1 0 18:04:30 ? 0:02 /lib/inet/in.mpathd
root 141 1 0 18:04:38 ? 0:00 /usr/lib/pfexecd
netadm 89 1 0 18:04:31 ? 0:03 /lib/inet/nwamd
root 602 1 0 18:04:50 ? 0:02 /usr/lib/inet/inetd start
root 131 1 0 18:04:35 ? 0:01 /sbin/dhcpagent
daemon 119 1 0 18:04:33 ? 0:00 /lib/crypto/kcfd
root 333 1 0 18:04:41 ? 0:07 /usr/lib/hal/hald --daemon=yes
root 370 338 0 18:04:43 ? 0:00 /usr/lib/hal/hald-addon-network-discovery
root 159 1 0 18:04:39 ? 0:00 /usr/lib/sysevent/syseventd
root 236 1 0 18:04:40 ? 0:00 /usr/lib/ldoms/drd
root 535 1 0 18:04:46 ? 0:09 /usr/sbin/nscd
root 305 1 0 18:04:40 ? 0:00 /usr/lib/zones/zonestatd
root 326 1 0 18:04:41 ? 0:03 /usr/lib/devfsadm/devfsadmd
root 314 1 0 18:04:40 ? 0:00 /usr/lib/dbus-daemon --system
查看進程
root@solaris10:/ # prstat
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
751 noaccess 181M 120M sleep 59 0 0:32:53 0.0% java/19
2513 root 3804K 2944K cpu0 59 0 0:00:00 0.0% prstat/1
641 root 48M 15M sleep 59 0 0:03:29 0.0% Xorg/1
762 root 11M 7012K sleep 59 0 0:01:59 0.0% dtgreet/1
2465 root 6388K 3628K sleep 59 0 0:00:00 0.0% sshd/1
685 root 3388K 1900K sleep 59 0 0:00:00 0.0% devfsadm/6
582 root 2488K 1296K sleep 59 0 0:00:00 0.0% snmpdx/1
594 root 3276K 1448K sleep 59 0 0:00:00 0.0% dmispd/1
555 root 8380K 1724K sleep 59 0 0:00:08 0.0% sendmail/1
2475 root 2932K 1776K sleep 59 0 0:00:00 0.0% bash/1
560 root 9476K 5676K sleep 59 0 0:00:02 0.0% snmpd/1
2471 root 1452K 892K sleep 59 0 0:00:00 0.0% sh/1
636 root 5584K 1448K sleep 59 0 0:00:00 0.0% dtlogin/1
638 root 2560K 792K sleep 59 0 0:00:00 0.0% fbconsole/1
557 smmsp 8388K 1488K sleep 59 0 0:00:00 0.0% sendmail/1
511 root 3880K 1248K sleep 59 0 0:00:00 0.0% sshd/1
517 root 14M 10M sleep 59 0 0:00:00 0.0% fmd/17
515 root 4004K 1732K sleep 59 0 0:00:00 0.0% syslogd/14
494 root 2532K 968K sleep 59 0 0:00:00 0.0% automountd/2
495 root 2820K 1560K sleep 59 0 0:00:01 0.0% automountd/3
412 root 2072K 676K sleep 59 0 0:00:00 0.0% smcboot/1
384 root 1440K 664K sleep 59 0 0:00:00 0.0% utmpd/1
149 root 1800K 1028K sleep 59 0 0:00:00 0.0% powerd/3
383 root 6268K 3240K sleep 59 0 0:00:04 0.0% inetd/4
414 root 2072K 676K sleep 59 0 0:00:00 0.0% smcboot/1
198 root 3700K 2412K sleep 59 0 0:00:00 0.0% picld/4
395 root 2444K 1276K sleep 59 0 0:00:00 0.0% ttymon/1
342 daemon 2428K 1360K sleep 60 -20 0:00:00 0.0% lockd/2
337 daemon 2780K 1604K sleep 59 0 0:00:00 0.0% statd/1
333 daemon 2448K 1304K sleep 60 -20 0:00:00 0.0% nfs4cbd/2
263 root 2240K 748K sleep 59 0 0:00:00 0.0% iscsid/2
109 daemon 4256K 2048K sleep 59 0 0:00:00 0.0% kcfd/3
112 root 5028K 1948K sleep 59 0 0:00:00 0.0% syseventd/15
375 root 2448K 1200K sleep 59 0 0:00:00 0.0% ttymon/1
410 root 2072K 976K sleep 59 0 0:00:00 0.0% smcboot/1
108 root 6372K 2852K sleep 59 0 0:00:12 0.0% nscd/31
282 root 2768K 1000K sleep 59 0 0:00:00 0.0% cron/1
545 root 3264K 2224K sleep 59 0 0:00:00 0.0% vold/6
374 root 2080K 928K sleep 59 0 0:00:00 0.0% sac/1
335 daemon 4696K 1148K sleep 59 0 0:00:00 0.0% nfsmapid/3
9 root 9432K 7560K sleep 59 0 0:00:12 0.0% svc.configd/16
Total: 47 processes, 197 lwps, load averages: 0.00, 0.00, 0.00
顯示有關進程的信息
# pgrep cron 得到 cron 進程的進程 ID
4780
# pwdx 4780 顯示 cron 進程的當前工做目錄
4780: /var/spool/cron/atjobs
# ptree 4780 顯示包含 cron 進程的進程樹
4780 /usr/sbin/cron
# pfiles 4780 顯示 fstat 和 fcntl 信息
4780: /usr/sbin/cron
Current rlimit: 256 file descriptors
0: S_IFCHR mode:0666 dev:290,0 ino:6815752 uid:0 gid:3 rdev:13,2
O_RDONLY|O_LARGEFILE
/devices/pseudo/mm@0:null
1: S_IFREG mode:0600 dev:32,128 ino:42054 uid:0 gid:0 size:9771
O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE
/var/cron/log
2: S_IFREG mode:0600 dev:32,128 ino:42054 uid:0 gid:0 size:9771
O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE
/var/cron/log
3: S_IFIFO mode:0600 dev:32,128 ino:42049 uid:0 gid:0 size:0
O_RDWR|O_LARGEFILE
/etc/cron.d/FIFO
4: S_IFIFO mode:0000 dev:293,0 ino:4630 uid:0 gid:0 size:0
O_RDWR|O_NONBLOCK
5: S_IFIFO mode:0000 dev:293,0 ino:4630 uid:0 gid:0 size:0
O_RDWR
控制進程
終止進程
$ pkill [signal] process
signal
當 pkill 命令行語法中不包含任何信號時,使用的缺省信號爲 –15 (SIGKILL)。將 –9 信號 (SIGTERM) 與 pkill 命令一塊兒使用,能夠確保進程快速終止。可是,不該使用 –9 信號來停止特定進程,例如數據庫進程或 LDAP 服務器進程。這樣作可能丟失數據。
process
是要中止的進程的名稱。
# kill [signal-number] pid
signal
當 kill 命令行語法中不包括任何信號時,使用的缺省信號爲 –15 (SIGKILL)。將 –9 信號 (SIGTERM) 與 kill 命令一塊兒使用,能夠確保進程快速終止。可是,不該使用 –9 信號來停止特定進程,例如數據庫進程或 LDAP 服務器進程。這樣作可能丟失數據。
pid
是要終止的進程的進程 ID。