LoginSignup
1
2

More than 5 years have passed since last update.

【トリビア】Apache2のpidファイルが残ってしまっている場合の起動時の挙動

Posted at

どうも通常はpidファイルを上書きしてそのまま起動するようです。

二つのほぼ同じ構成のApacheサーバーにおいて、SIGKILLしてしまいpidファイルが残っている状態で起動をかけると何故か動作が異なった。

サーバーAは
「httpd (pid 18) already running」
というエラーを出力して起動しなかった。

サーバーBは
「 pid file /usr/local/apache2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?」
という警告を出力してそのまま起動した。

ちゃんとSIGTERMすればいいだけなので調べる必要などなかったが、どうしても気になってしまいソースも読んでみたら
簡単な話で、既に同じPIDのプロセスが存在するかどうかで挙動が異なるということだった。
同じPIDのプロセスがいたら止まっておくことにするみたい。当たり前だけれど。
pidが残っていたら問答無用で起動しないアプリケーションが多いので、こういう分岐があることがちょっと予想外でした。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2