IPCRM(1) Comenzi utilizator IPCRM(1)

ipcrm - elimină anumite resurse IPC

ipcrm [opțiuni]

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

ipcrm elimină din sistem obiectele de comunicare interproces (IPC) POSIX și System V și structurile de date asociate. Pentru a șterge astfel de obiecte, trebuie să fiți superutilizator, sau creatorul sau proprietarul obiectului.

Obiectele IPC POSIX și System V sunt de trei tipuri: memorie partajată, cozi de mesaje și semafoare. Ștergerea unui obiect coadă de mesaje sau a unui obiect de semafor este imediată (indiferent dacă vreun proces mai deține încă un identificator IPC pentru obiectul respectiv). Un obiect de memorie partajată este eliminat numai după ce toate procesele atașate în acel moment au detașat (shmdt(2)) obiectul din spațiul lor virtual de adrese.

Sunt acceptate două stiluri de sintaxă. Vechea sintaxă istorică Linux specifică un cuvânt cheie din trei litere care indică ce clasă de obiect trebuie ștearsă, urmat de unul sau mai mulți identificatori IPC pentru obiectele de acest tip.

Sintaxa conformă cu SUS permite specificarea a zero sau mai multe obiecte de toate cele trei tipuri într-o singură linie de comandă, cu obiecte specificate fie prin cheie, fie prin identificator (a se vedea mai jos). Atât cheile, cât și identificatorii pot fi specificați în zecimal, hexazecimal (specificat cu un „0x” sau „0X” inițial) sau octal (specificat cu un „0” inițial).

Detaliile eliminărilor sunt descrise în shmctl(2), shm_unlink(3), msgctl(2) mq_unlink(3), semctl(2) și sem_unlink(3). Identificatorii și cheile pot fi găsite folosind lsipc(1) sau ipcs(1).

-a, --all [shm] [pshm] [msg] [pmsg] [sem] [psem]

Elimină toate resursele. Atunci când se furnizează un argument de opțiune, eliminarea se efectuează numai pentru tipurile de resurse specificate.

Avertisment!_ Nu folosiți -a dacă nu sunteți sigur de modul în care software-ul care utilizează resursele ar putea reacționa la obiectele lipsă. Unele programe creează aceste resurse la pornire și este posibil să nu aibă niciun cod pentru a face față unei dispariții neașteptate.

-M, --shmem-key cheie-shm

Elimină segmentul de memorie partajată creat cu cheie-shm după ce a fost efectuată ultima detașare.

-m, --shmem-id id-shm

Elimină segmentul de memorie partajată identificat de id-shm după ce a fost efectuată ultima detașare.

-x, --posix-shmem nume

Elimină segmentul de memorie partajată POSIX creat cu nume.

-Q, --queue-key cheie-mesaj

Elimină coada de mesaje creată cu cheie-mesaj.

-q, --queue-id id-mesaj

Elimină coada de mesaje identificată prin id-mesaj.

-y, --posix-mqueue nume

Elimină coada de mesaje POSIX creată cu nume.

-S, --semaphore-key cheie-semafor

Elimină semaforul creat cu cheie-semafor.

-s, --semaphore-id id-semafor

Elimină semaforul identificat prin id-semafor.

-z, --posix-semaphore nume

Elimină semaforul cu nume POSIX creat cu nume.

-h, --help

Afișează acest mesaj de ajutor și iese.

-V, --version

Afișează versiunea și iese.

În prima sa implementare Linux, ipcrm a folosit sintaxa depreciată prezentată în a doua linie din REZUMAT. Funcționalitatea prezentă în alte implementări *nix ale ipcrm a fost adăugată de atunci, și anume capacitatea de a șterge resursele după cheie (nu doar după identificator) și de a respecta aceeași sintaxă a liniei de comandă. Pentru compatibilitatea cu versiunile anterioare, se acceptă în continuare sintaxa anterioară.

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)

Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor https://github.com/util-linux/util-linux/issues.

Comanda ipcrm face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2025-03-29 util-linux 2.41