OS X एप्लिकेशन के लिए फ़ाइल एक्सेस की निगरानी कैसे करें?


61

मैं FileMon के OS X corespondent की तलाश कर रहा हूं, जिसे बाद में ProcessMon में शामिल किया गया ।

BTW, प्रक्रिया द्वारा फ़िल्टर करने में सक्षम होना आवश्यक है।


मैं तीन विकल्प जोड़ूंगा - चूंकि मैक ओएस एक्स की यूनिक्स विरासत एनटी वास्तुकला से अलग है - उपकरण पूरी तरह से ओवरलैप नहीं करते हैं। आप एक API कार्यक्रम या बस उपकरण (एक निश्चित फ़ाइल परिवर्तन के बाद या गति प्रदान क्रियाओं) क्या वर्तमान में हो रहा है पर नज़र के लिए देख रहे हैं
bmike

जवाबों:


62

इंस्ट्रूमेंट्स- Apple Xcode डेवलपमेंट सूट का एक हिस्सा- सभी फ़ाइल एक्सेस को मॉनिटर कर सकता है और लिख सकता है। इसे /Applications/Xcode.app/Contents/Applications/Instenders.app से खोलें, अपने आवेदन या प्रक्रिया का चयन करें, और प्रारंभ दबाएं। आपके पास मेनू में व्यापक फ़िल्टर विकल्प उपलब्ध हैं।

Xcode के पुराने संस्करण /Developer/Applications/Instizers.app पर ऐप स्टोर कर रहे हैं


7
Xcode 5 के रूप में, यह अब /Applications/Xcode.app/Contents/Applications/Instenders.app में स्थित है और XCode ऐप - Xcode-> ओपन डेवलपर टूल- इंस्ट्रूमेंट्स के भीतर से भी पहुँचा जा सकता है।
मिश्रण 15

यदि आपके एप्लिकेशन के कारण फ़ाइल एक्सेस नहीं हो रही है, तो यह काम नहीं करता है
लिक्विडब्लोसियन

वास्तव में यह ओएस एक्स के लिए काम नहीं करता है: "मैं / ओ गतिविधि मैकओएस प्लेटफॉर्म का समर्थन नहीं करता है"। इसे भी पढ़ें: stackoverflow.com/questions/35621938/…

क्या आप इस पर अधिक जानकारी प्रदान कर सकते हैं? कौन सा साधन - गतिविधि मॉनिटर? मैं यहाँ सभी प्रक्रियाओं के लिए एक लंबा आउटपुट देख रहा हूँ, यह सुनिश्चित करने के लिए नहीं कि इसे कैसे फ़िल्टर किया जा सकता है i / o एक प्रक्रिया के लिए
इलियट 6

43

आज्ञा है opensnoop। तर्कों के बिना चलाएं, यह आपको आउटपुट के साथ अभिभूत कर सकता है, लेकिन इसे -n nameनामांकित प्रक्रियाओं तक आउटपुट को सीमित करने के लिए तर्कों के साथ चलाया जा सकता है name


1
इसी तरह sudo opensnoop | grep .classpathसे आप उदाहरण के लिए एक classpath फ़ाइल तक पहुँच सकते हैं।
दाविद नटिंगा

1
नोट ओपननोप और इंस्ट्रूमेंट्स दोनों एक ही DTrace इंजन के फ्रंट-एंड हैं। अन्य सामने के छोर: dtrace.org/blogs/brendan/2011/10/10/…
MarcH

13

लॉन्च के बाद से फ़ाइलें (और एक फ़ोल्डर एक विशेष फ़ाइल है) की निगरानी के लिए लॉन्च सिस्टम मुख्य स्तर का उपकरण है। हेज़ेल एक प्रोग्राम है जो लॉन्चड वॉचपैथ के आसपास एक सुंदर जीयूआई डालने में मदद करता है। लॉन्च के कई सुझावों के साथ-साथ सैकड़ों ट्यूटोरियल, एक अच्छा विकिपीडिया लेख और ऐप्पल देव डॉक्स के लिए यहां देखें।

fseventsd कुछ बदलावों को लॉग करेगा - इसलिए आप FSeventer का उपयोग कर सकते हैं या यदि उन फ़ाइलों तक पहुँच प्राप्त करें यदि लॉन्च किया गया तो आपका चाय का कप नहीं है।

fs_usage और lsof IO सबसिस्टम में चलने के लिए जागरूक कमांड लाइन उपकरण हैं। Fs_usage बफ़र ओवरलोड हो सकता है, इसलिए यदि आप कुछ और गारंटी चाहते हैं और "कम त्वरित झटके" चाहते हैं, तो यह अन्य कमांड के रूप में कुल सही परिणामों के लिए कम भरोसेमंद है।


मैंने FSEventer का उपयोग कई बार यह जानने के लिए किया है कि कोई एप्लिकेशन एक्सेस कर रहा है या नहीं। लैब तैनाती के लिए सिस्टम इमेजिंग के लिए लाइसेंस फ़ाइलों की तलाश में यह बहुत अच्छा है।
डिजिटलचाइल्ड

fseventer बड़ी तस्वीर realtime के लिए उत्कृष्ट है, आप वास्तव में देखते हैं कि क्या हो रहा है!।
ling

1
चूंकि FSeventer मर चुका है, इसलिए कोई FSMonitor भी आज़मा सकता है
GDP2

10

किसी ने भी गतिविधि मॉनिटर का उल्लेख नहीं किया है, जो /Applications/Utilitiesफ़ोल्डर में पाया गया है ।

सूची में प्रक्रिया के नाम पर क्लिक करें, फिर टूलबार पर "निरीक्षण" बटन दबाएं।

: जिसके परिणामस्वरूप विंडो में तीन टैब हैं Memory, Statistics, Open Files and PortsOpen Files and Portsटैब सभी खुली फ़ाइलों प्रक्रिया द्वारा किया जा रहा दिखाएगा।


1
यदि फ़ाइल किसी अज्ञात एप्लिकेशन द्वारा एक्सेस की जा रही है तो यह काम नहीं करता है
लिक्विडब्लोसियन

3

lsof

आप अपने लिए क्या कर सकते हैं। इसका उपयोग करने के man lsofलिए पकड़ने के लिए उपयोग करें। चियर्स


3

तेज़ तरीका है:

$ lsof [path_to_file]

इस समाधान के लिए रूट पासवर्ड की आवश्यकता नहीं होती है और आपको निम्नलिखित, स्पष्ट, परिणाम प्राप्त होते हैं:

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg

1

इसके अलावा उपलब्ध हैं iosnoopऔर iotopअपनी विशिष्ट आवश्यकताओं पर निर्भर करता है। इन टर्मिनल कमांडों को grepएक विशिष्ट प्रक्रिया से फाइलसिस्टम घटनाओं के लिए देखने के लिए या एक विशिष्ट फ़ाइल के खिलाफ पाइप किया जा सकता है ।


0

lsofजानकारी टाइप करने के लिए एक ग्राफिकल इंटरफ़ेस है । यह HAMSoft से डोनेशनवेयर है और इसे व्हाट्स कीपिंग मी कहा जाता है । इसका उत्तर देने के लिए डिज़ाइन किया गया कि "मैं इसे अपने कूड़ेदान से क्यों नहीं हटा सकता?" सवाल जो हर बार ओएस एक्स पर आता है, यह खुले आई / ओ को चलाने की प्रक्रियाओं के लिए देखने का एक आसान तरीका भी होता है यदि आप बस इसके बारे में उत्सुक हैं कि क्या हो रहा है। यह आपको कुछ सरल खोज और फ़िल्टरिंग की अनुमति देता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.