IPCRM(1) دستورهای کاربری IPCRM(1)

ipcrm - حذف منابع مشخص شده IPC

ipcrm [options]

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

دستور ipcrm اشیاء و ساختارهای داده مرتبط با ارتباط بین‌فرآیندی (IPC) از نوع POSIX و System V را از سیستم حذف می‌کند. برای حذف چنین اشیایی، باید کاربر ارشد (superuser)، یا سازنده یا مالک شیء باشید.

اشیاء IPC از نوع POSIX و System V دارای سه نوع هستند: حافظه اشتراکی، صف‌های پیام و سمافورها. حذف یک شیء صف پیام یا سمافور فوری است (صرف‌نظر از اینکه آیا فرآیندی هنوز یک شناسه IPC برای شیء نگه داشته باشد یا خیر). یک شیء حافظه اشتراکی تنها پس از آنکه همه فرآیندهای متصل فعلی، شیء را از فضای آدرس مجازی خود جدا کردند (shmdt(2))، حذف می‌شود.

دو شیوه ساختار دستوری پشتیبانی می‌شود. نحو قدیمی و سنتی لینوکس یک کلیدواژه سه‌حرفی را مشخص می‌کند که نشان‌دهنده رده شیء موردنظر برای حذف است، که پس از آن یک یا چند شناسه IPC برای اشیاء این نوع می‌آید.

نحو منطبق بر استاندارد SUS امکان تعیین صفر یا چند شیء از هر سه نوع را در یک خط فرمان واحد می‌دهد؛ به این صورت که اشیاء یا با کلید یا با شناسه مشخص می‌شوند (پایین را ببینید). هم کلیدها و هم شناسه‌ها را می‌توان در مبنای ده‌دهی، شانزده‌شانزدهی (مشخص‌شده با پیشوند '0x' یا '0X')، یا هشت‌هشتی (مشخص‌شده با پیشوند '0') تعیین کرد.

جزئیات حذف‌ها در shmctl(2)، shm_unlink(3)، msgctl(2)، mq_unlink(3)، semctl(2) و sem_unlink(3) شرح داده شده‌اند. شناسه‌ها و کلیدها را می‌توان با استفاده از lsipc(1) یا ipcs(1) پیدا کرد.

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

حذف همه منابع. هنگامی که یک آرگومان برای این گزینه ارائه شود، حذف تنها برای نوع منابع مشخص‌شده انجام می‌شود.

هشدار! اگر مطمئن نیستید نرم‌افزاری که از منابع استفاده می‌کند به نبود اشیاء چه واکنشی نشان می‌دهد، از -a استفاده نکنید. برخی برنامه‌ها این منابع را هنگام راه‌اندازی می‌سازند و ممکن است کدی برای مدیریت ناپدید شدن غیرمنتظره آن‌ها نداشته باشند.

-M, --shmem-key shmkey

حذف قطعه حافظه اشتراکی ساخته‌شده با shmkey پس از انجام آخرین جداسازی (detach).

-m, --shmem-id shmid

حذف قطعه حافظه اشتراکی مشخص‌شده با shmid پس از انجام آخرین جداسازی (detach).

--posix-shmem name

حذف قطعه حافظه اشتراکی POSIX ساخته‌شده با name.

-Q, --queue-key msgkey

حذف صف پیام ساخته‌شده با msgkey.

-q, --queue-id msgid

حذف صف پیام مشخص‌شده با msgid.

--posix-mqueue name

حذف صف پیام POSIX ساخته‌شده با name.

-S, --semaphore-key semkey

حذف سمافور ساخته‌شده با semkey.

-s, --semaphore-id semid

حذف سمافور مشخص‌شده با semid.

--posix-semaphore name

حذف سمافور نام‌گذاری‌شده POSIX ساخته‌شده با name.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

در نخستین پیاده‌سازی لینوکس، ipcrm از نحو منسوخ‌شده‌ای استفاده می‌کرد که در خط دوم خلاصه دستور (SYNOPSIS) نشان داده شده است. از آن زمان، قابلیت‌های موجود در سایر پیاده‌سازی‌های *nix از ipcrm اضافه شده است؛ یعنی امکان حذف منابع با کلید (نه فقط شناسه) و پیروی از ساختار خط فرمان یکسان. برای سازگاری رو به عقب، نحو قبلی همچنان پشتیبانی می‌شود.

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)

برای گزارش باگ‌ها، از ردیاب اشکالات https://github.com/util-linux/util-linux/issues.

دستور ipcrm بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-06-16 util-linux 2.41.5