Perl Interprozeßkommunikation mit Message Queues..

Post Reply
Message
Author
musi
Posts: 27
Joined: 16. Aug 1999 13:40
Location: Harsewinkel

Perl Interprozeßkommunikation mit Message Queues..

#1 Post by musi »

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

Musi

Re: Perl Interprozeßkommunikat...

#2 Post by Musi »

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 !!!

Post Reply