GNU/Linux >> Belajar Linux >  >> Linux

perintah linux untuk memeriksa antrian pesan POSIX

Jika Anda cukup beruntung untuk menggunakan HP-UX , perintah pipcs (PDF) (maaf tautan rusak, tidak ada arsip saat ini , lihat halaman manual ini di unix.com sebagai gantinya) melakukan POSIX yang setara dengan SysV IPC ipcs memerintah. Sayangnya, itu tidak pernah muncul untuk OS lain. Paket util-linux saat ini (Januari 2021) yang menyediakan ipcs hampir tidak menyebutkan antrian POSIX.

Jika Anda memiliki mqueue terpasang pada /dev/mqueue , apa itu yang didukung adalah membaca metadata untuk antrean yang ada sebagai file:

[email protected] $ sudo mount -t mqueue mqueue /dev/mqueue
[email protected] $ mq_create -c /myQ
[email protected] $ cat /dev/mqueue/myQ
QSIZE:0          NOTIFY:0     SIGNO:0     NOTIFY_PID:0 

QSIZE sayangnya hanya ukuran dalam byte, bukan pesan; di Linux tidak ada (sampai saat ini, kernel 5.4) tidak ada bidang jumlah pesan – tidak seperti FreeBSD yang menyediakan CURMSG nilai:

[email protected] $ cat /mnt/mqueue/myQ
QSIZE:0          MAXMSG:32         CURMSG:0          MSGSIZE:1024   

Jadi jawabannya harus menjadi "pasang mqueue FS dan gunakan cat ", tapi bukan :(

(Memasang mqueue FS bukanlah prasyarat untuk menggunakan MQ API, ini hanya memungkinkan Anda melakukan beberapa hal "semuanya adalah file".)

Terdapat liputan yang baik tentang antrean pesan dalam buku Antarmuka Pemrograman Linux , termasuk kode sumber C untuk berbagai alat CLI untuk membuat, memeriksa, dan menggunakan antrean pesan. Untungnya bab 52 dari buku yang membahas topik ini saat ini tersedia gratis untuk diunduh. Lihat pmsg_getattr.c .

Kode referensi kanonis dari Unix Network Programming (Vol 2) Edisi Kedua Stephen. (1999) tersedia di sini, antara lain menyediakan mqgetattr yang akan melakukan pekerjaan juga (walaupun Anda mungkin perlu memijat beberapa baris di tingkat atas config.h , #define untuk berbagai uint jenis bertentangan dengan header sistem Unix kontemporer).

Ada juga modul Ruby, Perl dan TCL untuk ini, yang Ruby dilengkapi dengan posix-mq-rb Alat CLI.


$ ipcs -q akan memberikan statistik antrian pesan dari baris perintah.

$ ipcs -m akan memberikan statistik memori bersama dari baris perintah.

$ ipcs akan memberikan semua statistik mekanisme ipc.


Tidak ada perintah yang saya tahu tetapi ada panggilan fungsi libc yang bisa mendapatkan statistik:

orang 3 mq_getattr

   mq_getattr() returns an mq_attr structure  in  the  buffer  pointed  by
   attr.  This structure is defined as:

       struct mq_attr {
           long mq_flags;       /* Flags: 0 or O_NONBLOCK */
           long mq_maxmsg;      /* Max. # of messages on queue */
           long mq_msgsize;     /* Max. message size (bytes) */
           long mq_curmsgs;     /* # of messages currently in queue */
       };

Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Cara Memeriksa Apakah Sistem Linux 32 bit Atau 64 Bit

  2. Perintah cd Linux

  3. Periksa penggunaan port di Linux

  1. Perintah Df di Linux (Periksa Disk Space)

  2. Perintah W di Linux

  3. Contoh Perintah logger di Linux