webページに繋がらないよという報告を受けたので確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
systemctl status httpd -l ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 水 2021-12-01 10:18:39 JST; 9s ago Docs: man:httpd(8) man:apachectl(8) Process: 17880 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 16809 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS) Process: 17878 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE) Main PID: 17878 (code=exited, status=1/FAILURE) 12月 01 10:18:39 exr-web01 systemd[1]: Starting The Apache HTTP Server... 12月 01 10:18:39 exr-web01 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE 12月 01 10:18:39 exr-web01 kill[17880]: kill: cannot find process "" 12月 01 10:18:39 exr-web01 systemd[1]: httpd.service: control process exited, code=exited status=1 12月 01 10:18:39 exr-web01 systemd[1]: Failed to start The Apache HTTP Server. 12月 01 10:18:39 exr-web01 systemd[1]: Unit httpd.service entered failed state. 12月 01 10:18:39 exr-web01 systemd[1]: httpd.service failed. |
見ての通りapacheは落ちている。
monitで監視してるはずなのになんで上がらなかったんだろうと思いつつ起動させてみる。
1 2 3 |
systemctl start httpd Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. |
上がらないじゃん。
apacheのエラーログ(/var/log/httpd/error_log)を拝見。
1 2 3 |
[Wed Dec 01 10:18:39.354392 2021] [core:notice] [pid 17878] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0 [Wed Dec 01 10:18:39.357417 2021] [suexec:notice] [pid 17878] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Wed Dec 01 10:18:39.358492 2021] [core:emerg] [pid 17878] (28)No space left on device: AH00023: Couldn't create the ssl-cache mutex |
ははぁ、さてはセマフォがいっぱいだな。
セマフォをチェック。
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 |
# ipcs ------ メッセージキュー -------- キー msqid 所有者 権限 使用バイト数 メッセージ ------ 共有メモリセグメント -------- キー shmid 所有者 権限 バイト nattch 状態 0x77134191 786432 root 600 1000 0 0x3f13df16 917505 root 600 1000 0 0x8d131025 1572866 root 600 1000 0 0x48137590 1703939 root 600 1000 0 0x7e13ebb2 1048580 root 600 1000 0 0xea13ee1b 1179653 root 600 1000 0 0xc713016c 1310726 root 600 1000 0 0xb613fa61 1441799 root 600 1000 0 0x48130fc2 2490376 root 600 1000 0 0x7013bb1b 2621449 root 600 1000 0 0xce13735b 1835018 root 600 1000 0 0x93137dca 1966091 root 600 1000 0 0x911382e1 2097164 root 600 1000 0 0x11139d26 2228237 root 600 1000 0 0x6c139a73 2359310 root 600 1000 0 0x8d1381a3 2949135 root 600 1000 0 0x481311f4 3145744 root 600 1000 0 0x0d13d057 2752529 root 600 1000 0 0xc21311f7 3178514 root 600 1200712 0 ------ セマフォ配列 -------- キー semid 所有者 権限 nsems 0x00000000 3735552 apache 600 1 0x00000000 3768321 apache 600 1 <長くなりすぎるので中略> 0x00000000 12583029 apache 600 1 0x00000000 12615798 apache 600 1 0x00000000 13303927 apache 600 1 0x00000000 13336696 apache 600 1 0x00000000 13041785 apache 600 1 0x00000000 13369466 apache 600 1 0x00000000 13402235 apache 600 1 0x00000000 13435004 apache 600 1 0x00000000 13467773 apache 600 1 |
これはいけませんな。
セマフォはipcrm -s <semid>で消せるが
何個も手動で消すのは大変なので、ipcsの結果をgrepしてawkで切り取ってipcrmに渡す。
1 |
ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem |
これできれいさっぱり。
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 |
# systemctl start httpd # systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since 水 2021-12-01 10:24:32 JST; 3s ago Docs: man:httpd(8) man:apachectl(8) Process: 17880 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE) Process: 16809 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS) Main PID: 17928 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service tq17928 /usr/sbin/httpd -DFOREGROUND tq17929 /usr/sbin/httpd -DFOREGROUND tq17930 /usr/sbin/httpd -DFOREGROUND tq17931 /usr/sbin/httpd -DFOREGROUND tq17932 /usr/sbin/httpd -DFOREGROUND tq17933 /usr/sbin/httpd -DFOREGROUND tq17934 /usr/sbin/httpd -DFOREGROUND tq17935 /usr/sbin/httpd -DFOREGROUND tq17936 /usr/sbin/httpd -DFOREGROUND tq17937 /usr/sbin/httpd -DFOREGROUND tq17938 /usr/sbin/httpd -DFOREGROUND tq17939 /usr/sbin/httpd -DFOREGROUND tq17940 /usr/sbin/httpd -DFOREGROUND mq17941 /usr/sbin/httpd -DFOREGROUND 12月 01 10:24:32 exr-web01 systemd[1]: Starting The Apache HTTP Server... 12月 01 10:24:32 exr-web01 systemd[1]: Started The Apache HTTP Server. |
apacheも上がったのでOK。
忘れないうちにmonitのhttpd用設定ファイルも変更しておく。
1 2 3 4 5 6 7 8 9 10 11 12 |
#cat /etc/monit.d/httpd check process httpd with pidfile "/var/run/httpd/httpd.pid" start program = "ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem && /usr/bin/systemctl start httpd" stop program = "/usr/bin/systemctl stop httpd" if failed port 80 with timeout 10 seconds then restart if failed port 443 with timeout 10 seconds then restart #monit -t Control file syntax OK #systemctl restart monit #systemctl status monit |
こんな感じかな。→いまいちうまく動作していなかったので、実行したいコマンドをシェルスクリプトにしてmonitの設定ファイルではそのシェルスクリプトを叩かせるようにしたらうまくいった。
初めまして。
703ESの投稿でコメントが残せませんでしたのでこちらで試しにコメントをさせて頂きました。
当方703ESを愛用しておりましたが、数年前より「入力切替後3秒ほどは音が出るが、その後出なくなる」症状となってしまいました。
ぶしつけなお願いで恐縮ですが、お送りして修理をしていただくことは可能でしょうか。
どうぞよろしくお願いいたします。
コメントありがとうございます。該当の記事への投稿はどうもコメントを手動承認しないとスパム疑いになってしまうようですぐに反映されないようです。お手数をおかけして申し訳ありません。
ご相談いただきました件ですが、幾分私自身も素人であり、古い機械でもありますので万が一があった際に責任を取り兼ねることも考慮しますと心苦しいですがお預かりしての修理は難しいかと考えております。
自己責任の範疇で修理していただく分にはまだ余剰がありますので基盤をお分けすることや、わかる範囲でアドバイスをさせていただくことは可能です。
ご検討いただけますと幸いです。
よろしくお願い致します。
ご返信ありがとうございます。
自分では不器用ではんだ付けも出来ないのでアドバイスを頂いても恐らく無理かと思います。
お願いしてもしも万が一のことがあっても構いません。
いずれにしてもこのままでは廃棄するしかありませんので…。
もしもお願いできるようであれば修理に成功した場合としなかった場合の代金をメールして頂ければ幸甚です。
長年使ってきて愛着のある機械なので出来ればまた稼動させたいと願っています。
甚だ勝手なお願いですがご一考頂ければ幸いです。