Hallo !!!
Vielleicht liest ja jetzt jemand diese Nachricht und kann mir helfen.... Also:
Ich möchte gerne den Status einer Message Queue mit msqstat auswerten... Leider ist gerade die Man-Page von IPC::Msg leider recht dürftig... Wie kann ich den Status auslesen ??? Hat da schon jemand Erfahrungen ???
Bis dann Musi
Perl Interprozeßkommunikation mit Message Queues..
Re: Perl Interprozeßkommunikat...
Antworte ich mir selbst:
Für die die es interessiert:
Antwort aus de.comp.lang.perl.*:
Naja ich nehm an, du hast die IPC:<img src="http://www.pro-linux.de/UltraBoard/Images/TooHappy.gif" border="0" align="middle">odule benutzt und irgendwo die message queue mit
use IPC::Msg;
use IPC::SysV qw/IPC_PRIVATE S_IRWXU/;
$msg = new IPC::Msg(IPC_PRIVATE, S_IRWXU);
erzeugt (stimmt !!!) und jemand hat mit
$msg->snd(1, 'blah', 0);
was reingeschrieben. Mit
$info = $msg->stat;
kriegt du Informationen ueber die msgq.
$info ist eine pseudo-C-struct, ein Class::Struct-Objekt mit den in ``perldoc IPC::Msg'' aufgezählten Elementen.
Du willst $info->qnum :
print "there are ",$info->qnum, " msgs in the q
";
Vom direkten Gebrauch des Ur-Interfaces mit msgctl() aus Perl4-Zeiten würd' ich stark abraten, wenn doch, steht ja in IPC::Msg.pm ungefähr, wie mans benutzte.
Ich würde mal annehmen, dass die Doku so unvollständig ist, weil nicht allzuviele Leute Message Queues benutzen.
<img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
So einfach war das !!! Dank an de.comp.lang.perl !!!
Für die die es interessiert:
Antwort aus de.comp.lang.perl.*:
Naja ich nehm an, du hast die IPC:<img src="http://www.pro-linux.de/UltraBoard/Images/TooHappy.gif" border="0" align="middle">odule benutzt und irgendwo die message queue mit
use IPC::Msg;
use IPC::SysV qw/IPC_PRIVATE S_IRWXU/;
$msg = new IPC::Msg(IPC_PRIVATE, S_IRWXU);
erzeugt (stimmt !!!) und jemand hat mit
$msg->snd(1, 'blah', 0);
was reingeschrieben. Mit
$info = $msg->stat;
kriegt du Informationen ueber die msgq.
$info ist eine pseudo-C-struct, ein Class::Struct-Objekt mit den in ``perldoc IPC::Msg'' aufgezählten Elementen.
Du willst $info->qnum :
print "there are ",$info->qnum, " msgs in the q
";
Vom direkten Gebrauch des Ur-Interfaces mit msgctl() aus Perl4-Zeiten würd' ich stark abraten, wenn doch, steht ja in IPC::Msg.pm ungefähr, wie mans benutzte.
Ich würde mal annehmen, dass die Doku so unvollständig ist, weil nicht allzuviele Leute Message Queues benutzen.
<img src="http://www.pro-linux.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
So einfach war das !!! Dank an de.comp.lang.perl !!!