IPCRM(1)

NAZWA
ipcrm - usuwa określone zasoby IPC

SKŁADNIA

ipcrm [opcje]

ipcrm [shm|msg|sem] ID ...

OPIS

ipcrm usuwa z systemu obiekty komunikacji międzyprocesowej (inter-process communication - IPC) POSIX i Systemu V oraz skojarzone z nimi struktury danych. Aby usunąć takie obiekty, należy być superużytkownikiem lub twórcą albo właścicielem obiektu.

Są trzy typy obiektów IPC POSIX i Systemu V: pamięć dzielona, kolejki komunikatów i semafory. Usuwanie obiektu typu kolejka komunikatów lub semafor jest natychmiastowe (niezależnie od tego, czy jakiś proces wciąż utrzymuje identyfikator IPC tego obiektu). Obiekt typu pamięć współdzielona jest usuwany tylko wtedy, gdy wszystkie obecnie połączone procesy odłączą (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, określającego jakiej klasy obiekt ma być usunięty, po którym następuje jeden lub więcej identyfikatorów IPC obiektów tego typu.

Składnia 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").

Szczegóły usuwania są opisane w shmctl(2), shm_unlink(3), msgctl(2), mq_unlink(3), semctl(2) i sem_unlink(3). Identyfikatory i klucze można znaleźć używając lsipc(1) lub ipcs(1).

OPCJE

-a, --all [shm] [pshm] [msg] [pmsg] [sem] [psem]
    Usuwa wszystkie zasoby. Gdy poda się argument opcji, usunięcie jest przeprowadzane wyłącznie dla podanych typów zasobu.

    Uwaga! Nie należy używać -a jeśli nie jest się pewnym jaka będzie reakcja oprogramowania używającego zasobów, na brakujące obiekty. Część programów tworzy te zasoby przy starcie i może nie obsługiwać nieoczekiwanego ich zniknięcia.

-M, --shmem-key klucz-pam-dziel
    Usuwa segment pamięci dzielonej utworzony z kluczem-pam-dziel, gdy tylko ostatni proces się od niego odłączy.

-m, --shmem-id id-pam-dziel
    Usuwa segment pamięci dzielonej identyfikowany przez id-pam-dziel, gdy tylko ostatni proces się od niego odłączy.

--posix-shmem nazwa
    Usuwa segment pamięci dzielonej POSIX utworzony z nazwą.

-Q, --queue-key klucz-komunik
    Usuwa kolejkę komunikatów utworzoną z kluczem-komunik.

-q, --queue-id id-komunik
    Usuwa kolejkę komunikatów identyfikowaną przez id-komunik.

--posix-mqueue nazwa
    Usuwa kolejkę komunikatów POSIX utworzoną z nazwą.

-S, --semaphore-key klucz-semafora
    Usuwa semafor utworzony z kluczem-semafora.

-s, --semaphore-id id-semafora
    Usuwa semafor identyfikowany przez id-semafora.

--posix-semaphore nazwa
    Usuwa nazwany semafor POSIX utworzony z nazwą.

-v, --verbose
    Włącza szczegołowe komunikaty.

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

UWAGI

W swojej pierwszej implementacji linuksowej, ipcrm używało przestarzałej składni pokazanej w drugim wierszu SKŁADNI. 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

ipcmk(1), ipcs(1), lsipc(1), msgctl(2), mq_unlink(3), msgget(2), semctl(2), semget(2), sem_unlink(3), shmctl(2), shmdt(2), shmget(2), shm_unlink(3), ftok(3), sysvipc(7)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie ipcrm jest częścią pakietu util-linux, który można pobrać ze strony