NAZWA
ipcrm − usuwa kolejkę komunikatów, zbiór semaforów lub id pamięci współdzielonej
SKŁADNIA
ipcrm [ −M klucz | −m id | −Q klucz | −q id | −S klucz | −s id ] ...
przestarzałe użycie:
ipcrm [ shm | msg | sem ] id ...
OPIS
ipcrm usuwa z systemu obiekty komunikacji międzyprocesowej Systemu V (IPC) oraz skojarzone z nimi struktury danych. Aby usunąć takie obiekty, należy być superużytkownikiem lub twórcą albo właścicielem tego obiektu.
Istnieją trzy typy obiektów IPC Systemu V: pamięć współdzielona, kolejki komunikatów i semafory. Usuwanie obiektu typu kolejka komunikatów lub semafor jest natychmiastowe (niezależnie od tego, czy jakiś proces wciąż trzyma identyfikator IPC tego obiektu). Obiekt typu pamięć współdzielona jest usuwany tylko wtedy, gdy wszystkie obecnie połączone procesy usuną (shmdt(2)) ten obiekt z ich wirtualnej przestrzeni adresowej.
Obsługiwane są dwa style składni. Stara, historyczna składnia linuksowa składa się trzyliterowego słowa kluczowego, mówiącego, jakiej klasy obiekt ma być usunięty, po którym następuje jeden lub więcej identyfikatorów obiektów tego typu.
Składania zgodna z SUS pozwala na podanie zera lub więcej obiektów wszystkich typów w pojedynczym wywołaniu. Obiekty mogą być określone albo przez klucz, albo przez identyfikator (patrz niżej). Zarówno klucze, jak i identyfikatory mogą być podane w postaci dziesiętnej, szesnastkowej (zaczynającej się od ’0x’ lub ’0X’) lub ósemkowej (zaczynającej się od ’0’)
OPCJE
−M shmkey
usuwa segment pamięci współdzielonej utworzony z kluczem shmkey, gdy tylko ostatni proces się od niego odłączy.
−m shmid
usuwa segment pamięci współdzielonej identyfikowany przez shmid, gdy tylko ostatni proces się od niego odłączy.
−Q msgkey
usuwa kolejkę komunikatów utworzoną z kluczem msgkey.
−q msgid
usuwa kolejkę komunikatów identyfikowaną przez msgid.
−S semkey
usuwa semafor utworzony z kluczem semkey.
−s semid
usuwa semafor identyfikowany przez semid.
Szczegóły usuwania są opisane w msgctl(2), shmctl(2) i semctl(2). Identyfikatory i klucze mogą być znalezione za pomocą ipcs(8).
UWAGI
W swojej pierwszej implementacji linuksowej, ipcrm używało przestarzałej składni pokazanej w sekcji SKŁADNIA. Od tego czasu została dodana funkcjonalność obecna w innych implementacjach *niksowych, mianowicie możliwość usuwania zasobów przez podanie klucza (a nie tylko identyfikatora) oraz zgodność składni polecenia. Dla zachowania wstecznej zgodności poprzednia składnia jest wciąż obsługiwana.
ZOBACZ TAKŻE
ipcs(8), msgctl(2), msgget(2), semctl(2), semget(2), shmctl(2), shmdt(2), shmget(2), ftok(3)