Linux ipcs 命令詳解

2021-07-10 12:24:18 字數 1727 閱讀 8675

在unix/linux下,經常有因為共享記憶體、訊號量,佇列等共享資訊沒有乾淨地清楚而引起一些問題,ipcs缺省會列出共享記憶體、訊號量,佇列資訊,-m列出共享記憶體,-s列出共享訊號量,-q列出共享佇列。

[root@localhost ~]# ipcs

—— shared memory segments ——–

key shmid owner perms bytes nattch status

0x71a7d46c 0 oracle 640 169869312 34

—— semaphore arrays ——–

key semid owner perms nsems

0x9c7e9a74 98304 oracle 640 154

—— message queues ——–

key msqid owner perms used-bytes messages

0x0000231e 0 gaps 666 0 0

ipcs [-mqs] [-abcopt] [-c core] [-n namelist]

-a : 顯示當前系統中共享記憶體段、訊號量集、訊息佇列的使用情況;

-q:顯示活動的訊息佇列資訊;

-m:顯示活動的共享記憶體資訊;

-s:顯示活動的訊號量資訊。

-a 使用時:

-b 寫入訊息佇列的佇列上訊息的最大位元組數、共享記憶體段的大小、每個訊號量集中訊號量的數量。

-c 寫入構建該設施的使用者的登入名和組名稱。

-o 寫以下的使用資訊:

佇列上的訊息數

訊息佇列上訊息的總位元組數

連線在共享記憶體段上的程序數

-p 寫程序編號的資訊:

最後接收訊息佇列上訊息的程序號

最後在訊息佇列上傳送訊息的程序號

建立程序的程序號

最後乙個連線或拆離共享記憶體段的程序編號

-t 寫入時間資訊:

最後一次更改所有裝置訪問許可權的控制操作的時間

訊息佇列上最後一次執行 msgsnd 和 msgrcv 的時間

共享記憶體上最後一次執行 shmat 和 shmdt 的時間

在訊號量集上最後一次執行 semop 的時間

-c corefile 用由 corefile 引數指定的檔案來代替 /dev/mem 檔案。corefile 引數是由 ctrl-(left)alt-pad1 按鍵順序建立的記憶體映象檔案。

-n kernel 用指定的 kernel( /usr/lib/boot/unix 檔案是預設的)。

注意:

如果使用者指定 -c 或者 -n 標記,實型和有效的 uid/gid 設定為呼叫 ipcs 的使用者的實型 uid/gid。當執行 ipcs 時可以更改值;僅當檢索它時它給出的資訊才保證是正確的。

清除命令是ipcrm [-m|-s|-q] semid

-m 刪除共享記憶體

-s刪除共享訊號量

-q刪除共享佇列。

訊號量又稱為訊號燈,它是用來協調不同程序間的資料物件的,而最主要的應用是共享記憶體方式的程序間通訊。本質上,訊號量是乙個計數器,它用來記錄對某個資源(如共享記憶體)的訪問狀況;共享記憶體是執行在同一臺機器上的程序間通訊最快的方式,因為資料不需要在不同的程序間複製。通常由乙個程序建立一塊共享記憶體區,其餘程序對這塊記憶體區進行讀寫。在linux系統下 ,常用的方式是通過shm***函式族來實現利用共享記憶體進行儲存的。如shmget,類似於 malloc函式。

linux ipcs命令詳解

程序間通訊概述 程序間通訊有如下的目的 1 資料傳輸,乙個程序需要將它的資料傳送給另乙個程序,傳送的資料量在乙個位元組到幾m之間 2 共享資料,多個程序想要操作共享資料,乙個程序對資料的修改,其他程序應該立刻看到 3 通知事件,乙個程序需要向另乙個或一組程序傳送訊息,通知它們發生了某件事情 4 資源...

Linux ipcs命令與ipcrm命令的用法詳解

以下是對linux中的ipcs命令與ipcrm命令的用法進行了介紹,需要的朋友可以過來參考下 是linux uinx上提供關於一些程序間通訊方式的資訊,包括共享記憶體,訊息佇列,訊號 ipcs用法 ipcs a 是預設的輸出資訊 列印出當前系統中所有的程序間通訊方式的資訊 ipcs m 列印出使用共...

Linux ipcs命令及ipcrm命令的用法

是linux uinx上提供關於一些程序間通訊方式的資訊,包括共享記憶體,訊息佇列,訊號 ipcs用法 ipcs a 是預設的輸出資訊 列印出當前系統中所有的程序間通訊方式的資訊 ipcs m 列印出使用共享記憶體進行程序間通訊的資訊 ipcs q 列印出使用訊息佇列進行程序間通訊的資訊 ipcs ...