命令 | 说明 | 手册页 |
ps、pgrep、prstat、pkill | 检查系统中活动进程的状态,并显示有关这些进程的详细信息。 | ps(1)、pgrep(1) 和 prstat(1M) |
pkill | 功能与 pgrep 相同,但通过名称或其他属性来查找进程或向进程发送信号,然后终止进程。像 kill 命令一样向每个匹配的进程发送信号,而不列显进程 ID。 | pgrep(1) 和 pkill(1) kill(1) |
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。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。