Open hysryt opened 5 years ago
起動できない
[Sat Jun 15 05:20:19.817690 2019] [mpm_prefork:emerg] [pid 1280] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 15 05:20:19.818407 2019] [mpm_prefork:emerg] [pid 1281] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 15 05:20:19.819239 2019] [mpm_prefork:emerg] [pid 1278] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 15 05:20:19.820841 2019] [mpm_prefork:emerg] [pid 1277] (43)Identifier removed: AH00144: couldn't grab the accept mutex
[Sat Jun 15 05:20:20.465940 2019] [core:alert] [pid 1197] AH00050: Child 1277 returned a Fatal error... Apache is exiting!
[Sat Jun 15 05:20:20.465967 2019] [:emerg] [pid 1197] AH02818: MPM run failed, exiting
Mutex file を設定したら解決した。 Mutex sem でもいけた。 Mutex pthread でもいけた。 Mutex default と Mutex none が無理だった。
Mutex
ミューテックスと読み、排他制御のことを指す。
Mutexディレクティブを使うことで、排他制御方式および排他制御に使用するロックファイルディレクトリを指定できる。 httpd で行われる排他制御処理はいくつかあり、第二引数にそのミューテックス名を指定することで特定の排他制御処理のみへの設定も可能。
デフォルトでは自動的にいずれかの排他制御方式が選択されるが、以下のケースではMutexディレクティブを使って手動で変更する必要がある。
排他制御方式
設定できる値として、以下の排他制御方式がある。
fcntl()
関数を使用した排他制御方式。flock()
関数を使用した排他制御方式。排他制御処理
httpdには以下の排他制御処理が存在する。 Mutexディレクティブの第2引数にはこれを指定する。