Scroll to navigation

IPCRM(1) Polecenia użytkownika 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.

-x, --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.

-y, --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.

-z, --posix-semaphore nazwa

Usuwa nazwany semafor POSIX utworzony z nazwą.

-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 systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie ipcrm jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-03-19 util-linux 2.41