Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ipcs - Zustand von Interprozess-Kommunikationseinrichtungen anzeigen

&pagelevel(4)&pagelevel

(inter-process communication status)


ipcs gibt Informationen über aktive Einrichtungen zur Interprozess-Kommunikation (IPC-Einrichtungen) aus.

Durch die Angabe von Optionen können Sie steuern,

  • über welche Art von IPC-Einrichtungen Informationen ausgegeben werden

  • welche Informationen ausgegeben werden.

Da sich die Zustände der IPC-Einrichtungen ändern können, während ipcs läuft, ist die ausgegebene Information nur zum Zeitpunkt der Abfrage aktuell.


Syntax


ipcs [ option]...

Keine Option angegeben

ipcs gibt in Kurzform Informationen aus über

  • Nachrichten-Warteschlangen (message queues)

  • gemeinsam benutzten Speicher (shared memory)

  • Semaphore

die derzeit im System aktiv sind. Die Bedeutung der Ausgabe-Spalten ist im Abschnitt „Ausgabe“ beschrieben.


option

Es gibt Optionen für die Art der IPC-Einrichtung und Optionen für die Art der Informationen.

Art der IPC-Einrichtung festlegen

-q

(q - message queues)

Informationen über aktive Nachrichten-Warteschlangen ausgeben.

-m

(m - memory)

Informationen über aktiven gemeinsam benutzten Speicher (shared memory) ausgeben.

-s

(s - semaphores)

Informationen über aktive Semaphore ausgeben.

Ist eine der Optionen -q, -m oder -s gesetzt, so werden nur Informationen über die entsprechenden IPC-Einrichtung ausgegeben. Die Kombination der Optionen ist möglich. Ist keine der Optionen gesetzt, so werden Informationen über alle Arten von IPC-Einrichtungen ausgegeben.

Art der Informationen festlegen

Im Folgenden sind die Optionen beschrieben, die festlegen, welche Informationen für die durch die Optionen -q, -m und -s festgelegten IPC-Einrichtungen ausgegeben werden. Die Bedeutung der Ausgabe-Spalten ist im Abschnitt „Ausgabe“ beschrieben.

-a

(a - all)

Alle Optionen, die die Art der ausgegebenen Informationen bestimmen, sind gesetzt. Dies ist die Kurzform für -b, -c, -o, -p und -t.

-A

(A - all)

Wie Option -a, jedoch werden Zeit-Informationen mit Datum und Uhrzeit (Format yyyy-mm-yy_hh:mm:ss) ausgegeben. Dies ist die Kurzform für -b, -c, -o, -p und -T.

-b

(b - biggest)

Es wird die maximal zulässige Größe der jeweiligen IPC-Einrichtung ausgegeben:

  • für Nachrichten-Warteschlangen die maximale Anzahl von Bytes in einer Nachricht, die in diese Nachrichten-Warteschlange eingereiht werden soll

  • für gemeinsam benutzten Speicher (shared memory) die Größe der Speichersegmente

  • für Semaphore die Zahl der Semaphore in jeder Semaphor-Gruppe

-c

(c - creator)

Die Benutzerkennung und der Gruppen-Name des Erzeugers der IPC-Einrichtung werden ausgegeben.

-o

(o - outstanding)

Informationen über noch zu bearbeitende IPC-Einrichtungen werden ausgegeben:

  • Zahl der Nachrichten in Nachrichten-Warteschlangen

  • Gesamtzahl der Bytes von Nachrichten in Nachrichten-Warteschlangen

  • Anzahl von Prozessen, die einem gemeinsam benutzten Speichersegment zugeordnet sind.

-p

(p - process)

Es werden Informationen über Prozessnummern ausgegeben:

  • Prozessnummer des letzten Prozesses, der eine Nachricht gesandt hat

  • Prozessnummer des letzten Prozesses, der eine Nachricht empfangen hat

  • Prozessnummer des Prozesses, der ein gemeinsam benutztes Speichersegment erzeugt hat

  • Prozessnummer des letzten Prozesses, der ein gemeinsam benutztes Speichersegment benutzt hat (attach, detach).

-t

(t - time)

Zeit-Informationen ausgeben. Es wird der Zeitpunkt der letzten Änderung der Zugriffsrechte für alle IPC-Einrichtungen ausgegeben:

  • Für Nachrichten-Warteschlangen wird der Zeitpunkt ausgegeben, zu dem zuletzt die Systemaufrufe msgrcv() [4] (Nachricht aus einer Nachrichten-Warteschlange lesen) oder msgsnd() [4] (Nachricht in eine Nachrichten-Warteschlange eintragen) angewandt wurden.

  • Für gemeinsam benutzten Speicher wird der Zeitpunkt ausgegeben, zu dem zuletzt die Systemaufrufe shmat() [4] oder shmdt() [4] angewandt wurden.

  • Für Semaphore wird der Zeitpunkt ausgegeben, zu dem zuletzt der Systemaufruf semop() [4] auf ein Semaphor angewandt wurde.

-T

(T - time)

Zeit-Informationen ausgeben wie bei Option -t, jedoch mit Datum und Uhrzeit (Format yyyy-mm-yy_hh:mm:ss). 

Ausgabe

Im Folgenden sind die Spalten-Überschriften und die Bedeutung der Spalten in der Ausgabe eines ipcs-Aufrufs aufgeführt. Die in runden Klammern (...) eingeschlossenen Buchstaben stehen dabei für die Optionen, die die Ausgabe der entsprechenden Spalten-Überschrift zur Folge haben. alle bedeutet, dass die betreffende Spalten-Überschrift in jedem Fall ausgegeben wird.

CBYTES (a,o)

Die Anzahl der Bytes in den Nachrichten, die in der zugehörigen Nachrichten-Warteschlange auf ihre Bearbeitung warten.

CGROUP (a,c)

Der Name der Gruppe zu der der Erzeuger der IPC-Einrichtung gehört.

CREATOR (a,c)

Die Benutzerkennung des Erzeugers der IPC-Einrichtung.

CTIME (a,t)

Der Zeitpunkt, zu dem der Eintrag für die zugehörige IPC-Einrichtung erstellt oder geändert wurde.

GROUP (alle)

Der Name der Gruppe zu der der Eigentümer der IPC-Einrichtung gehört.

ID (alle)

Die Kennzahl der IPC-Einrichtung.

KEY (alle)

Der Schlüssel, der beim Erzeugen der IPC-Einrichtung mit msgget() (Nachrichten-Warteschlange einrichten) oder semget() (Semaphor-Menge anlegen) als Argument benutzt wurde.

LRPID (a,p)

Die Prozessnummer des Prozesses, der zuletzt eine Nachricht aus der zugehörigen Nachrichten-Warteschlange empfangen hat.

LSPID (a,p)

Die Prozessnummer des Prozesses, der zuletzt eine Nachricht an die zugehörige Nachrichten-Warteschlange geschickt hat.

MODE (alle)

Die Zugriffsmodi und Status-Anzeigen für die IPC-Einrichtung. Der Modus besteht aus 11 Zeichen, die folgende Bedeutung haben:

Das erste Zeichen kann sein:


Swenn ein Prozess auf ein msgsnd() wartet

D

wenn das betreffende gemeinsam benutzte Speichersegment freigegeben wurde. Es verschwindet, wenn es vom letzten Prozess, der dem Segment zugeordnet ist, freigegeben wird.

-wenn kein Prozess auf ein msgsnd() wartet.


Das zweite Zeichen kann sein:


Rwenn ein Prozess auf ein msgrcv() wartet

C

Das betreffende gemeinsam benutzte Speichersegment wird bereinigt, wenn der erste Zugriff (attach) ausgeführt wird.

-wenn kein Prozess auf ein msgrcv() wartet.


Die folgenden 9 Zeichen werden in drei Gruppen zu je drei Bits unterteilt:

  • Die erste Gruppe steht für die Zugriffsrechte des Eigentümers der IPC-Einrichtung.

  • Die zweite steht für die Zugriffsrechte der Benutzer, die zur selben Benutzer-Gruppe wie der Eigentümer der IPC-Einrichtung gehören.

  • Die dritte Gruppe steht für die Zugriffsrechte aller anderen Benutzer.

In jeder Gruppe steht das erste Zeichen für das Leserecht, das zweite Zeichen für das Schreibrecht bzw. für das Recht, den Eintrag für die IPC-Einrichtung zu ändern. Das dritte Zeichen in jeder Gruppe wird zur Zeit noch nicht benutzt.

Die Zugriffsrechte werden folgendermaßen angegeben:


rLeserecht ist vorhanden

w

Schreibrecht ist vorhanden

aRecht, den Eintrag für die IPC-Einrichtung zu ändern, ist vorhanden.
-Das betreffende Recht ist nicht vorhanden.


NSEMS (a,b)

Die Zahl der Semaphore in der zugehörigen Semaphor-Menge.

OTIME (a,t)

Der Zeitpunkt, zu dem die letzte Semaphor-Operation auf die zugehörige Semaphor-Menge angewandt wurde.

OWNER (alle)

Die Benutzerkennung des Eigentümers der IPC-Einrichtung.

QBYTES (a,b)

Die Anzahl der Bytes, die diejenigen Nachrichten maximal enthalten dürfen, die in der Nachrichten-Warteschlange auf ihre Bearbeitung warten.

QNUM (a,o)

Die Anzahl der Nachrichten, die momentan in der zugehörigen Nachrichten-Warteschlange enthalten sind.

RTIME (a,t)

Der Zeitpunkt, zu dem die letzte Nachricht aus der zugehörigen Nachrichten-Warteschlange empfangen wurde.

STIME (a,t)

Der Zeitpunkt, zu dem die letzte Nachricht an die zugehörige Nachrichten-Warteschlange geschickt wurde.

NATTCH (a,o)

Die Anzahl der Prozesse, die dem betreffenden gemeinsam benutzten Speichersegment zugeordnet sind.

SEGSZ (a,b)

Die Größe des betreffenden gemeinsam benutzten Speichersegments.

CPID (a,p)

Die Nummer des Prozesses, der das gemeinsam benutzte Speichersegment angelegt hat.

LPID (a,p)

Die Nummer des letzten Prozesses, der ein gemeinsam benutztes Speichersegment benutzt hat (attach, detach).

ATIME (a,t)

Der Zeitpunkt, zu dem der letzte Zugriff (attach) auf das betreffende gemeinsam benutzte Speichersegment beendet war.

DTIME (a,t)

Der Zeitpunkt, zu dem die letzte Freigabe (detach) eines gemeinsam benutzten Speichersegment beendet war.

T (alle)

Typ der IPC-Einrichtung:


qsteht für Nachrichten-Warteschlange

m

steht für gemeinsam benutzten Speicher (shared memory)

ssteht für Semaphor.

Datei

/etc/group

Die Datei /etc/group enthält alle eingerichteten Benutzergruppen.

Beispiel

Das Programm server richtet eine Nachrichten-Warteschlange ein. Sie starten dieses Programm im Hintergrund und fragen dann mit ipcs den Zustand von Einrichtungen zur Interprozess-Kommunikation ab:

$ server &

$ ipcs

IPC status from /dev/kmem as of Mon Mar 9 08:40:41 2009

T     ID     KEY        MODE       OWNER    GROUP

Message Queues:

q     40  0x0000004b -Rrw-rw-rw-  user1   usrother
Shared Memory:

Semaphores:

Siehe auch

ipcrm

msgctl(), msgget(), semctl(), semget(), semop(), shmctl() [4]