2011-01-16 20 views
7

मैं उन फ़ाइलों की निर्देशिका की निगरानी करने के लिए FSEvents का उपयोग कर रहा हूं जिनमें कुछ बड़ी फ़ाइलें कॉपी की जाएंगी। वर्तमान में FSEvents एक प्रतिलिपि भेज रहा है जब मैंने फ़ाइल की प्रतिलिपि बनाना शुरू कर दिया है, और फिर जब फ़ाइल को कॉपी करना समाप्त हो गया है। हालांकि यह एक छोटी फ़ाइल है, हालांकि, मुझे केवल एक घटना मिलती है। क्या यह जांचने का कोई तरीका है कि फाइल कॉपी करने के बीच में है या नहीं?FSEvents और बड़ी फ़ाइलों की प्रतिलिपि

यह हिम तेंदुए के रास्ते से है।

+0

यह सवाल एक और सवाल से संबंधित है: http://stackoverflow.com/questions/9139445/how-to-determine-if-a-file-copy-is-completed-using-cocoa/40957388#40957388 –

उत्तर

3

मैं कर्नेल स्तर पर फ़ाइल खुली है या नहीं, यह जांचने के लिए बस lsof का उपयोग कर समाप्त हुआ। एलएसओफ़ ​​ने यह निर्धारित करने के बाद ही फ़ाइल को प्रसंस्करण करना शुरू कर दिया है कि फ़ाइल अब उपयोग में नहीं है।

+1

इस लगता है कि एक सैंडबॉक्स अनुप्रयोग में काम नहीं करना है ... 'lsof: पीआईडी ​​बाइट गिनती नहीं मिल सकती है: ऑपरेशन की अनुमति नहीं है' –

संबंधित मुद्दे