जवाबों:
ऐसी कोई भी आज्ञा नहीं है जिसके बारे में मुझे पता हो, लेकिन इसमें एक लिबास फंक्शन कॉल मौजूद है जो आंकड़े प्राप्त कर सकती है:
आदमी 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 */
};
यदि आप HP-UX का उपयोग करने के लिए पर्याप्त भाग्यशाली हैं , तो कमांड pipcs
(PDF) SOSV IPC ipcs
कमांड के बराबर POSIX करता है । अफसोस की बात है कि यह अन्य ओएस के लिए कभी नहीं दिखाई दिया। वर्तमान (मार्च 2013) उपयोग -लाइनक्स पैकेज जो ipcs
बमुश्किल उल्लेख करता है POSIX mqueues।
यदि आप पर mqueue
चढ़े हैं /dev/mqueue
, तो जो समर्थित है वह केवल एक फ़ाइल के रूप में कतार पढ़ रहा है:
user@linux $ cat /dev/mqueue/myQ
QSIZE:0 NOTIFY:0 SIGNO:0 NOTIFY_PID:0
QSIZE
दुर्भाग्य से बाइट्स, नहीं गए संदेशों में आकार है, लिनक्स पर वहाँ (अभी तक) कोई संदेश गणना फ़ील्ड नहीं है - FreeBSD के विपरीत जो एक CURMSG
मूल्य प्रदान करता है :
user@freebsd $ cat /mnt/mqueue/myQ
QSIZE:0 MAXMSG:32 CURMSG:0 MSGSIZE:1024
तो जवाब होना चाहिए "mqueue FS को माउंट करें और उपयोग करें cat
", लेकिन यह नहीं है :(
(एमक्यू एपीआई का उपयोग करने के लिए एमकेयू एफएस को माउंट करना एक पूर्वापेक्षा नहीं है, यह आपको कुछ "सब कुछ एक फाइल" सामान करने देता है।)
यदि आपको वास्तव में कतारों की निगरानी करने की आवश्यकता है, तो पुस्तक द लिनक्स प्रोग्रामिंग इंटरफेस में संदेश कतार बनाने, निरीक्षण करने और उपयोग करने के लिए विभिन्न सीएलआई उपकरणों के लिए सी स्रोत कोड है। इस विषय को शामिल करने वाली पुस्तक का हैप्पीली अध्याय 52 वर्तमान में डाउनलोड करने के लिए मुफ्त उपलब्ध है। देखते हैं pmsg_getattr.c
।
स्टीफन के यूनिक्स नेटवर्क प्रोग्रामिंग (वॉल्यूम 2) 2 एड से विहित संदर्भ कोड । (1999) यहां उपलब्ध है , यह अन्य चीजों के बीच प्रदान करता है mqgetattr
जो काम भी करेगा (हालांकि आपको शीर्ष स्तर में कुछ पंक्तियों की मालिश करने की आवश्यकता होगी config.h
, समकालीन यूनिक्स सिस्टम हेडर के साथ #define
विभिन्न uint
प्रकार के संघर्ष के लिए )।
इसके लिए रूबी , पर्ल और टीसीएल मॉड्यूल भी हैं , रूबी एक posix-mq-rb
सीएलआई टूल के साथ आता है ।
$ ipcs -q
कमांड लाइन से संदेश कतार आँकड़े प्रदान करेगा।
$ ipcs -m
कमांड लाइन से साझा मेमोरी आँकड़े प्रदान करेगा।
$ ipcs
सभी आईपीसी तंत्र आँकड़े प्रदान करेगा।
ipcs
POSIX1 संदेश कतारों के लिए नहीं है
ipcs
का उपयोग सिस्टम V संदेश कतारों के लिए किया जाता है और POSIX संदेश कतारों के लिए नहीं