Standardmäßig hat jeder Prozess, der auf dem Linux-System läuft, seine eigenen privaten Speicherseiten. Ein Prozess kann nicht auf Speicherseiten zugreifen, die von einem anderen Prozess verwendet werden. Der Kernel verwaltet seine eigenen Speicherbereiche. Aus Sicherheitsgründen können keine Prozesse auf den Speicher zugreifen, der von den Kernelprozessen verwendet wird. Um die gemeinsame Nutzung von Daten zu erleichtern, können Sie gemeinsam genutzte Speicherseiten erstellen. Mehrere Prozesse können in und aus einem gemeinsamen gemeinsam genutzten Speicherbereich lesen und schreiben. Der Kernel pflegt und verwaltet die gemeinsam genutzten Speicherbereiche und ermöglicht einzelnen Prozessen den Zugriff auf den gemeinsam genutzten Bereich.
Der Befehl ipcs gibt einen Bericht über IPC-Nachrichtenwarteschlangen (Interprocess Communication), gemeinsam genutzte Speichersegmente und Semaphor-Arrays aus, für die der aktuelle Prozess Lesezugriff hat. Optionen können verwendet werden, um die Art der zu berichtenden Ressourcen und das Ausgabeformat des Berichts anzugeben. Mit dem Befehl ipcs können Sie die aktuellen gemeinsam genutzten Speicherseiten auf dem System anzeigen. Hier ist die Ausgabe eines ipcs-Beispielbefehls:
# ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 0 rich 600 52228 6 dest 0x395ec51c 1 oracle 640 5787648 6
Jedes gemeinsam genutzte Speichersegment hat einen Besitzer, der das Segment erstellt hat. Jedes Segment hat auch eine standardmäßige Linux-Berechtigungseinstellung, die die Verfügbarkeit des Segments für andere Benutzer festlegt. Der Schlüsselwert wird verwendet, um anderen Benutzern den Zugriff auf das gemeinsam genutzte Speichersegment zu ermöglichen.
ipcs-Befehlsbeispiele
1. So sehen Sie das Shared-Memory-Segment:
# ipcs -m
2. Um die Nachrichtenwarteschlange anzuzeigen:
# ipcs -q
3. So sehen Sie die Semaphor-Arrays:
# ipcs -s
4. Um alle zu sehen:
# ipcs -a
5. So haben Sie das Ausgabeformat:
# ipcs -t time -p pid -c creator -l limits -u summary