私はサポートエンジニアになりたい

元教師・現開発エンジニアの挑戦

SadServers#1のトラブルシューティング考え方

SadServers#1のトラブルシューティングをやってみます。
https://sadservers.com/newserver/saint-john

トラブルシューティング概要

/var/log/bad.logに継続的に書き込むプログラムが動いており、このプログラムを停止させてほしい。

やること

  • /var/log/bad.logに継続的に書き込むプロセスを特定する
  • 特定したプロセスを停止する

/var/log/bad.logに継続的に書き込むプロセスを特定しよう

psコマンド

現在実行しているプロセス一覧を表示するコマンド
オプション付きで[ps auxf]あたりで実行する
a:端末操作のプロセス表示
u:CPUやメモリの使用率を表示
x:端末操作以外のプロセス表示
f:プロセスを階層で表示
※ハイフンをつけるとオプションの意味が変わる
「psコマンドで表示されたプロセスのうち、どれかが停止対象である。」ということは分かるが、どれが対象なのかまでは分からない。

topコマンド

CPUを多く使用している順にプロセスを表示するコマンド
※今回は使わない

lsof

プロセスが開いているファイルを表示するコマンド
今回、停止したいプロセスが/var/log/bad.logを開いて書き込んでいます。
なので、[lsof /var/log/bad.log]で停止したいプロセスを調べられます。
表示されたPIDを使ってプロセスを停止させます。

特定したプロセスを停止しよう

kill

プロセスを停止するコマンドです。
[kill -9 [停止したいPID]]でプロセスを停止できます。