アプリ版:「スタンプのみでお礼する」機能のリリースについて

System V系のメッセージキューを使用して、各プロセスへデータを渡しています。1つのメッセージキューを共用していますが、各プロセス毎に、受信する番号を変えていますので、各プロセスは自分宛のメッセージを問題なく受信できます。
ここからが問題なのですが、各プロセスへ一気にメッセージを配信するために、メッセージに多量にデータを書くと、msgsndでEAGAINとなってしまいます。
これを回避する為には、/proc/sys/kernel内の下記ファイルの内容を更新すればよいということまではわかりました。
msgmax msgmnb msgmni
ところが、これらのファイルを直接更新しようとするとエラーとなってしまいます。
rootユーザーでviでmsgmnbを更新すると、「"msgmnb" E667: fsync に失敗しました」となり、更新できませんでした。
上記ファイルの更新方法についてご存じのかたおりましたら、教えて下さい。また、最終的におこないたいのは、メッセージキューにもっと沢山のメッセージを書き込みたいことですので、その方法についての回答でもかまいません。
最大100プロセスに送信。
1プロセスあたり256バイトのメッセージを5件送信。
したいと考えています。
OSはred hat enterprise(Versionは最新版を使用予定)ですが、他のOSの情報でもかまいません。

A 回答 (1件)

# su root


:
# echo nnnnn > /proc/sys/kernel/msgmax

で、できませんか。nnnnnは設定値です。
    • good
    • 0
この回答へのお礼

ありがとうございます。ご教示の方法でうまくいきました。

お礼日時:2007/07/04 15:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!