このページでは ps -efでデーモンプロセスを識別して稼働状況を確認できますか? の操作方法について解説します。
【この記事でわかること】
・ps -ef でデーモンプロセスを含む全プロセスの詳細情報を一覧表示できる
・TTY が ? になっているプロセスがデーモン(端末に紐づかないプロセス)
・PPID=1 のプロセスはinit/systemdの直下で起動したデーモンプロセス
・ps -ef | grep デーモン名 で特定のデーモンの稼働状況を確認できる
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
コンピュータは一般的に何らかの命令を与えないと動作しませんが、
LinuxやUNIXなどの場合、システム維持の為に命令を与えなくても
特別に動作しているプロセスがあります。
これらのプロセスはデーモンと呼ばれ、ユーザからの要求が
あるまで待ち続け、要求があると新たにプロセスを作成し、
処理を実行します。
ここで作成されたプロセスを子プロセスと言い、また予め一定の
日時になった時点で動作するように設定が行われていると、
予約された日時に予約された処理を行います。
これらのデーモンは基本的にユーザの設定に従って
処理が実行されますが、中にはデフォルト(標準設定)に
なっているものも存在ます。
こうしたデーモンは、ユーザがコンソールやターミナルエミュレータといった
制御端末で操作して実行するものではないので、psコマンドを実行しても
制御端末は表示されませんが、オプション「-x」を付けることで
これらのプロセスも表示できるようになります。
[pakira@Tiger ~]$
ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 init [3]
2 ? S< 0:00 [migration/0]
3 ? SN 0:00 [ksoftirqd/0]
4 ? S< 0:00 [watchdog/0]
5 ? S< 0:00 [events/0]
6 ? S< 0:00 [khelper]
(省略)
1993 ? S 0:00 /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/webst
1994 ? S 0:00 /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/192.1
2004 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
2005 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
2006 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
2007 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
2008 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
2009 ? S 0:00 postgres: writer process
2010 ? S 0:00 postgres: stats buffer process
2011 ? S 0:00 postgres: stats collector process
2013 ? S 0:00 /usr/sbin/smartd -q never
2016 tty1 Ss+ 0:00 /sbin/mingetty tty1
2017 tty2 Ss+ 0:00 /sbin/mingetty tty2
2018 tty3 Ss+ 0:00 /sbin/mingetty tty3
2019 tty4 Ss+ 0:00 /sbin/mingetty tty4
2020 tty5 Ss+ 0:00 /sbin/mingetty tty5
2021 tty6 Ss+ 0:00 /sbin/mingetty tty6
2098 ? Ss 0:00 sshd: pakira [priv]
2100 ? S 0:00 sshd: pakira@pts/0
2101 pts/0 Ss 0:00 -bash
2129 pts/0 S 0:00 su -
2130 pts/0 S+ 0:00 -bash
2173 ? Ss 0:00 sshd: pakira [priv]
2175 ? S 0:00 sshd: pakira@pts/1
2176 pts/1 Ss 0:00 -bash
2408 ? S 0:00 /usr/local/apache2/bin/httpd -k start -DSSL
8765 pts/1 R+ 0:00 ps ax
TTYの箇所が「?」のプロセスは制御端末を持っていません。
■
表示される情報
PID:プロセスごとに自動的に割り当てられる番号
TTY:プロセスを実行している制御端末
STAT:状態
・第1フィールド
R:実行可能
T:停止中かトレース中
D:休眠中で割り込み不可
S:休眠中
Z:ゾンビ(削除されていないが停止中)
・第2フィールド
W:スワップアウト(常駐ページなし)
・第3フィールド
N:正のナイス値
TIME:CPU消費時間
COMMAND:実行コマンド
■ 関連記事
psコマンドの詳細はこちら
killコマンドの詳細はこちら
killallコマンドの詳細はこちら
すべてのプロセスを表示する
デーモンプロセスも含めて表示する
プロセスの状態を詳細に表示する
プロセスの状態を表示する
プロセスの親子関係を含めて表示する
プロセスをツリー状に表示する
プロセスをハングアップさせる
プロセスを強制終了する
プロセスをハングアップさせる
プロセスツリーをグラフィカルに表示する
ユーザ名を含めて実行プロセスを表示する
実行中のプロセスのみ表示する
実行中のプロセスを終了する
特定のプロセスの状態のみを表示する
特定コマンドのプロセスをすべて終了する
ps -efでデーモンプロセスを識別して稼働状況を確認できますか?
TTY=? でデーモンを判別できると、systemctl コマンドを使わなくても各サービスが正常動作しているかを素早く確認できます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
※
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
暗記不要・1時間後にはサーバーが動く
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 /
詳細はこちら
この記事を書いた人
宮崎 智広(みやざき ともひろ)
株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。
趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。
無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます