お世話になっております。麒麟です。
早速なのですが、ウェブサーバーから下記のメッセージがあがってきました。
調べたのですが、よくわかりません。 Broken pipe…と出ているのですが
どこかが、こわれてしまったのでしょうか? でも最後のほうにはupdateとも出ているのですが…
/usr/sbin/antivirupdater: line 5: 2374 Broken pipe ${antivirbindir}/antivir --update $1
どういう状況で、対策としては何かありますでしょうか? アドバイスいただけるとありがたいです。
よろしくお願い致します。
Broken pipe とは文字通りパイプが壊れたということです。
これはSIGPIPEというシグナルを受けた場合にBroken pipeでプログラムは終了したという事
パイプというのは、プログラム間の片方向の通信回線です
CGIは動作する場合
標準入力(STDIN)は親(httpd)から読むパイプ
標準出力(STDOUT)は親(httpd)にデーターを渡すパイプ
標準エラー(STDERR)はログのエラーファイルをアペンドオープンした書き込みオープンしたファイルパス
で動作します。
SIGPIPEはパイプの受け手がいなくなってしまった場合にファイルマネージャーからシグナルが来ます。
今回の場合はCGIがデーターをprint で標準出力パイプへ出そうとした時にその先の
httpdがすでにパイプをクローズしている(httpdがネットが切れたので先に終了している)のでしょう。
麒麟です。遅くなってしまいすみません。
アドバイスいただきありがとうございます。
> Broken pipe とは文字通りパイプが壊れたということです。
> これはSIGPIPEというシグナルを受けた場合にBroken pipeでプログラムは終了したという事
> パイプというのは、プログラム間の片方向の通信回線です
>
> CGIは動作する場合
> 標準入力(STDIN)は親(httpd)から読むパイプ
> 標準出力(STDOUT)は親(httpd)にデーターを渡すパイプ
> 標準エラー(STDERR)はログのエラーファイルをアペンドオープンした書き込みオープンしたファイルパス
> で動作します。
>
> SIGPIPEはパイプの受け手がいなくなってしまった場合にファイルマネージャーからシグナルが来ます。
>
> 今回の場合はCGIがデーターをprint で標準出力パイプへ出そうとした時にその先の
> httpdがすでにパイプをクローズしている(httpdがネットが切れたので先に終了している)のでしょう。
なんとなくわかったような気がします…
今回の場合は自作CGIのプログラムミスか、なんらかの問題で途中でネットが切れてしまったか
受け取り側のhttpdが終了してしまっていて、本来ならばCGIの出力が出来るところがありませんよ…
という合図が届いたという事でよいのでしょうか?
だとすれば、特に修正しなければならないし、ファイルのアップデートは必要ないし、
どこかに変な影響が出ているということはないと、解釈してしまっても良いのでしょうか?
注意としては、自作CGIのプログラムの見直しかネットワーク環境のチェックでしょうか?
それとも修復などをする必要があるのでしょうか?(影響が出てしまう部分があるのでしょうか?)
すみません、また質問になってしまいまして。出来たらアドバイスお願い致します。
こんばんは。
> 早速なのですが、ウェブサーバーから下記のメッセージがあがってきました。
システムの間違い(messages)では?
> 調べたのですが、よくわかりません。 Broken pipe…と出ているのですが
> どこかが、こわれてしまったのでしょうか? でも最後のほうにはupdateとも出ているのですが…
>
> /usr/sbin/antivirupdater: line 5: 2374 Broken pipe ${antivirbindir}/antivir --update $1
Broken pipeについてはOAKさんが回答してくれていますが、このメッセージは、AntiVir Mailgate の
VDF等の自動更新プログラム(/usr/sbin/antivirupdater)の5行目で、パイプで--updateオプション付きで
antivirを起動しようとしたが、起動に失敗したというメッセージです。
そこで、気になるのがこのantivirupdaterがまだあることです。最近のバージョンでは廃止され、
antivir --update-qで起動されるように戻っています。おやじの現用システムもバックアップ機も全て
ありません。一時的にこのスクリプトで起動していた時期がありましたが・・・。つまり、正常にシステム
のアップデートができていないような気がします。
いずれにしても、antivir側が前回の自動アップデートで再起動に失敗していた等の問題と思います。
原因はわかりませんが、antivirを再起動してみて、再発するならシステムの再起動をして、それでも駄目
ならインストールしなおしてみてはどうでしょうか?
> こんばんは。
>
> > 早速なのですが、ウェブサーバーから下記のメッセージがあがってきました。
>
> システムの間違い(messages)では?
>
> > 調べたのですが、よくわかりません。 Broken pipe…と出ているのですが
> > どこかが、こわれてしまったのでしょうか? でも最後のほうにはupdateとも出ているのですが…
> >
> > /usr/sbin/antivirupdater: line 5: 2374 Broken pipe ${antivirbindir}/antivir --update $1
>
> Broken pipeについてはOAKさんが回答してくれていますが、このメッセージは、AntiVir Mailgate の
> VDF等の自動更新プログラム(/usr/sbin/antivirupdater)の5行目で、パイプで--updateオプション付きで
> antivirを起動しようとしたが、起動に失敗したというメッセージです。
> そこで、気になるのがこのantivirupdaterがまだあることです。最近のバージョンでは廃止され、
> antivir --update-qで起動されるように戻っています。おやじの現用システムもバックアップ機も全て
> ありません。一時的にこのスクリプトで起動していた時期がありましたが・・・。つまり、正常にシステム
> のアップデートができていないような気がします。
> いずれにしても、antivir側が前回の自動アップデートで再起動に失敗していた等の問題と思います。
> 原因はわかりませんが、antivirを再起動してみて、再発するならシステムの再起動をして、それでも駄目
> ならインストールしなおしてみてはどうでしょうか?
お世話になっております。麒麟です。
アドバイスありがとうございます。お返事が遅くなってしまいすみません。
すみませんメッセージはシステムからでした。
教えていただいたとおりに一度再起動してみて、だめなようならインストールをしなおしてみます。
もしかしたら、古いままなのかもしれません…(適切にインストールできるか不安ですが…)
いつもありがとうございます。 またご指導ください。