/ Proc / net / unix की सामग्री का क्या अर्थ है?


11

मेरे एंड्रॉइड डिवाइस पर फ़ाइल है जिसे कहा जाता है /proc/net/unixकि सामग्री किसी भी मानक लिनक्स वितरण के अनुरूप नहीं है (जो बिना डोमेन के सॉकेट दिखाती है।) पहली कुछ पंक्तियाँ:

Num       RefCount Protocol Flags    Type St Inode Path
00000000: 00000002 00000000 00000000 0002 01 5287581 /data/misc/wifi/sockets/wpa_ctrl_789-3189
00000000: 00000003 00000000 00000000 0001 03    6402 /dev/socket/qmux_radio/qmux_client_socket    297
00000000: 00000002 00000000 00010000 0001 01    7180 /dev/.secure_storage/ssd_socket
00000000: 00000002 00000000 00010000 0001 01    6424 /dev/socket/cnd
00000000: 00000002 00000000 00010000 0001 01    6400 @QMulticlient
...

(१) ये विभिन्न स्तंभ किस लिए खड़े होते हैं?


संपादित करें : ठीक है मैं मिल गया है इस :

यहाँ 'Num' कर्नेल टेबल स्लॉट नंबर है, 'RefCount' सॉकेट के उपयोगकर्ताओं की संख्या है, 'प्रोटोकॉल' वर्तमान में हमेशा 0 है, 'Flags' सॉकेट की स्थिति को धारण करने वाले आंतरिक कर्नेल झंडे का प्रतिनिधित्व करता है। वर्तमान में, टाइप हमेशा '1' है (यूनिक्स डोमेन डेटा-ग्राम सॉकेट अभी तक कर्नेल में समर्थित नहीं हैं)। State St ’सॉकेट की आंतरिक स्थिति है और Path सॉकेट का बाध्य पथ (यदि कोई हो) है।

हालाँकि, यह अद्यतित नहीं है क्योंकि हमारे पास एक है typeऔर स्पष्ट नहीं है कि "आंतरिक स्थिति" का क्या अर्थ है।

(२) पथ के अंत में, कभी-कभी अपने स्वयं के स्तंभ नाम के बिना एक अतिरिक्त संख्या होती है। वो क्या है?

इसके अलावा, जहां कर्नेल स्रोत कोड में मैं यह खोजने की उम्मीद कर सकता हूं कि यह कहां बनाया गया है?

EDIT: 2016-04-27 (हल)

नीचे जवाब देने के लिए धन्यवाद, मैंने पुष्टि की है lsof |grep qmuxकि qmux_client_socketsआइटम के लिए अंतिम कॉलम में संख्या , इसका उपयोग करने की प्रक्रिया का पीआईडी है।

जवाबों:


6

कोड जो इस फ़ाइल को उत्पन्न करता है वह कर्नेल स्रोत मेंunix_seq_show() कार्य करता है । को देखते हुए भी उपयोगी है, उपयोग में डेटा संरचनाओं को देखने के लिए।net/unix/af_unix.cinclude/net/af_unix.h

सॉकेट पथ हमेशा आउटपुट में अंतिम कॉलम होता है, और एंड्रॉइड कर्नेल स्रोत इस संबंध में स्टॉक कर्नेल से मेल खाता है । इसलिए जब तक मैं गलत नहीं हूँ, वह संख्या जो स्तंभ की तरह दिखती है, वास्तव में एक अलग स्तंभ नहीं है।

आप यूनिक्स डोमेन सॉकेट्स को व्यावहारिक रूप से कुछ भी नाम दे सकते हैं जो आप चाहते हैं, जब तक कि कुल पथ की लंबाई 108 बाइट्स से कम हो। तो आप कोई भी धारणा नहीं बना सकते हैं कि ये रास्ते क्या दिखेंगे। यह संभव है कि उपयोगकर्ता नाम जो उन नामों को चुन रहा है, एक नंबर के बाद एक टैब चरित्र का उपयोग कर रहा है, या यहां तक ​​कि रिक्त स्थान के साथ एक निश्चित लंबाई तक नाम को पैडिंग कर रहा है। मेरे सिद्धांत का परीक्षण करने के लिए, आप सॉकेट फ़ाइलों को देखने का प्रयास कर सकते हैं /dev/socket/qmux_radio/


1
धन्यवाद, यह किया! /dev/socket/qmux_radio/केवल वर्चुअल सॉकेट ओपनर नाम के तहत कोई सॉकेट संख्या प्रदर्शित नहीं होती है qmux_client_socket। लेकिन आपकी मदद ने मुझे जाँच दिया psजो समान हैं।
not2qubit
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.