3.4. Tools for Listing and Controlling ProcessesSolaris provides a set of tools for listing and controlling processes. The general syntax is as follows: $ ptool pid $ ptool pid/lwpid The following is a summary for each. Refer to the man pages for additional details. 3.4.1. Process Tree: ptreeThe process parent-child relationship can be displayed with the ptree command. By default, all processes within the same process group ID are displayed. See Section 2.12 in Solaris™ Internals for information about how processes are grouped in Solaris. $ ptree 22961 301 /usr/lib/ssh/sshd 21571 /usr/lib/ssh/sshd 21578 /usr/lib/ssh/sshd 21580 -ksh 22961 /opt/filebench/bin/filebench 22962 shadow -a shadow -i 1 -s ffffffff10000000 -m /var/tmp/fbench9Ca 22963 shadow -a shadow -i 2 -s ffffffff10000000 -m /var/tmp/fbench9Ca 22964 shadow -a shadow -i 3 -s ffffffff10000000 -m /var/tmp/fbench9Ca 22965 shadow -a shadow -i 4 -s ffffffff10000000 -m /var/tmp/fbench9Ca ... 3.4.2. Grepping for Processes: pgrepThe pgrep command provides a convenient way to produce a process ID list matching certain criteria. $ pgrep filebench 22968 22961 22966 22979 ... The search term will do partial matching, which can be disabled with the -x option (exact match). The -l option lists matched process names. 3.4.3. Killing Processes: pkillThe pkill command provides a convenient way to send signals to a list or processes matching certain criteria. $ pkill -HUP in.named If the signal is not specified, the default is to send a SIGTERM. Typing pkill d by accident as root may have a disastrous effect; it will match every process containing a "d" (which is usually quite a lot) and send them all a SIGTERM. Due to the way pkill doesn't use getopt() for the signal, aliasing isn't perfect; and writing a shell function is nontrivial. 3.4.4. Temporarily Stop a Process: pstopA process can be temporarily suspended with the pstop command. $ pstop 22961 3.4.5. Making a Process Runnable: prunA process can be made runnable with the prun command. $ prun 22961 3.4.6. Wait for Process Completion: pwaitThe pwait command blocks and waits for termination of a process. $ pwait 22961 (sleep...) 3.4.7. Reap a Zombie Process: preapA zombie process can be reaped with the preap command, which was added in Solaris 9. $ preap 22961 (sleep...) |