2016-07-18 7 views
-1

Ich benutze mq_open Message Queue /temp.1234,Warum nicht ls -al Nachrichtenwarteschlange erstellt zeigen mq_open

  1. aber gebieten ls -al und ipcs -q im Verzeichnis erstellen / zeigt keine Informationen über die Nachrichten-Warteschlange.
  2. Ich benutze mq_send, um eine Nachricht zu senden. Auch in einem anderen Programm gibt mq_open ("/ temp.1234", O_WRONLY) 3 (Nachrichtendeskriptor) erfolgreich zurück, aber wenn mq_receive aufgerufen wird, gibt es EBADF aus. OS ist Ubuntu.
  3. Ist es nur auf Solaris und nicht auf Ubuntu wirksam?

Added: es ist von Unix-Netzwerk programing Volumen 2.

Hier ist die Ausgabe unter Solaris 2.6:
solaris% mqcreatel /temp.l234
solaris% 1s -1/tmp /.* L234
-RW--rw-rw- 1 rstevens otherl 132.632 23 Oct 17.08 /tmp/.MQDtemp.1234
-RW--rw-rw- 1 rstevens Andere1 0 Oct 23 17.08/tmp/.MQLtemp.l234
-RW--r - r-- 1 rstevens Andere1 0 23 Oct 17.08 /tmp/.MQPtemp.l234

Antwort

2
  1. Das erste Argument ist nicht ein Dateiname, es ist nur eine Kennung Es wird nicht auf dem Dateisystem existieren.

  2. Der Versuch, von einer schreibgeschützten Warteschlange zu empfangen, ist ein Fehler.

+0

Ich teste 'ls -l/temp.1234' nach diesem Buch. 'ipcs -q' funktioniert nicht so gut. Können Sie mir eine Möglichkeit geben, die Nachrichtenwarteschlange mit dem Befehl zu überprüfen? – hel

Verwandte Themen