インストール (CentOS 7)
psmiscというパッケージに含まれているらしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ yum info psmisc Available Packages Name : psmisc Arch : x86_64 Version : 22.20 Release : 15.el7 Size : 141 k Repo : base/7/x86_64 Summary : Utilities for managing processes on your system URL : http://sourceforge.net/projects/psmisc License : GPLv2+ Description : The psmisc package contains utilities for managing processes on your : system: pstree, killall and fuser. The pstree command displays a tree : structure of all of the running processes on your system. The killall : command sends a specified signal (SIGTERM if nothing is specified) to : processes identified by name. The fuser command identifies the PIDs : of processes that are using specified files or filesystems. |
インストールする。
1 |
$ sudo yum -y install psmisc |
使い方
全プロセス(プロセスID1を先祖に持つプロセス)をツリー形式で表示する。子プロセスが複数存在する場合は、7*といったように冒頭にその個数が表示される。画面に収まり切れない場合はmoreでつなぐと良い。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ pstree systemd─┬─2*[agetty] ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon ├─firewalld───{firewalld} ├─gssproxy───5*[{gssproxy}] ├─httpd───10*[httpd] ├─master─┬─pickup │ └─qmgr ├─mysqld_safe───mysqld───18*[{mysqld}] ├─polkitd───6*[{polkitd}] ├─rpcbind ├─rsyslogd───2*[{rsyslogd}] ├─sshd───sshd───sshd───bash───pstree ├─systemd-journal ├─systemd-logind ├─systemd-udevd └─tuned───4*[{tuned}] |
-p オプションを指定するとプロセスIDも表示される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
$ pstree -p systemd(1)─┬─agetty(3432) ├─agetty(3433) ├─auditd(1610)───{auditd}(1620) ├─chronyd(2480) ├─crond(3436) ├─dbus-daemon(2461) ├─firewalld(2500)───{firewalld}(2926) ├─gssproxy(2462)─┬─{gssproxy}(2464) │ ├─{gssproxy}(2465) │ ├─{gssproxy}(2466) │ ├─{gssproxy}(2467) │ └─{gssproxy}(2468) ├─httpd(3019)─┬─httpd(18408) │ ├─httpd(18457) │ ├─httpd(18827) │ ├─httpd(21353) │ ├─httpd(24016) │ ├─httpd(24564) │ ├─httpd(25239) │ ├─httpd(25249) │ ├─httpd(25292) │ └─httpd(25293) ├─master(4963)─┬─pickup(28526) │ └─qmgr(4965) ├─mysqld_safe(3062)───mysqld(3282)─┬─{mysqld}(3294) │ ├─{mysqld}(3302) │ ├─{mysqld}(3303) │ ├─{mysqld}(3304) │ ├─{mysqld}(3305) │ ├─{mysqld}(3306) │ ├─{mysqld}(3307) │ ├─{mysqld}(3308) │ ├─{mysqld}(3309) │ ├─{mysqld}(3310) │ ├─{mysqld}(3311) │ ├─{mysqld}(3348) │ ├─{mysqld}(3349) │ ├─{mysqld}(3350) │ ├─{mysqld}(3351) │ ├─{mysqld}(3352) │ ├─{mysqld}(3353) │ └─{mysqld}(3457) ├─polkitd(2458)─┬─{polkitd}(2463) │ ├─{polkitd}(2469) │ ├─{polkitd}(2471) │ ├─{polkitd}(2473) │ ├─{polkitd}(2475) │ └─{polkitd}(2476) ├─rpcbind(2454) ├─rsyslogd(3425)─┬─{rsyslogd}(3439) │ └─{rsyslogd}(3441) ├─sshd(3431)───sshd(28600)───sshd(28602)───bash(28603)───pstree(28751) ├─systemd-journal(1298) ├─systemd-logind(2456) ├─systemd-udevd(3374) └─tuned(3017)─┬─{tuned}(3193) ├─{tuned}(3196) ├─{tuned}(3200) └─{tuned}(3264) |
プロセスIDを指定すると、そのプロセスを親に持つプロセスだけを表示できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ pstree 3019 httpd───10*[httpd] $ pstree 3019 -p httpd(3019)─┬─httpd(18408) ├─httpd(18457) ├─httpd(18827) ├─httpd(21353) ├─httpd(24016) ├─httpd(24564) ├─httpd(25239) ├─httpd(25249) ├─httpd(25292) └─httpd(25293) |
参考サイト
【 pstree 】コマンド――プロセスの親子関係を分かりやすく表示する:Linux基本コマンドTips(7) – @IT
https://www.atmarkit.co.jp/ait/articles/1603/29/news024.html
CentOS7を最小インストールしたらpstreeがなかった – Qiita
https://qiita.com/nekootoko3/items/b9159d13cd4d3e689aca