जवाबों:
इस ब्लॉग पोस्ट के अनुसार ( यहाँ अधिक जानकारी के साथ ), यह आईट्यून्स के कारण होता है, जिसे DTrace "फ़िल्टर" करता है, इसलिए इसका उपयोग आईट्यून्स के DRM को तोड़ने की कोशिश करने के लिए नहीं किया जा सकता है।
छोड़ने वाला आईट्यून्स त्रुटि को हल करता है।
त्रुटियों को stderr में आउटपुट मिल रहा है, और कमांड को इस तरह से चलाकर फ़िल्टर किया जा सकता है:
sudo iotop -C 5 12 2>/dev/null
यह किसी भी अन्य त्रुटियों को छानने का साइड इफेक्ट है जो सामने आ सकता है। मैंने पाया है कि यह एक अच्छा ट्रेडऑफ़ है, इसमें मैंने अपने iotop आउटपुट को पठनीय बनाया है।
मुझे यकीन नहीं है कि त्रुटियों का कारण क्या है, दुर्भाग्य से। मैंने खोज की है, लेकिन अभी तक कुछ भी खोजने में सक्षम नहीं है।
संक्षेप में, त्रुटि उस प्रक्रिया को ट्रेस करने का प्रयास करते समय दिखाई जाती है जिसने अनुरोध नहीं किया है।
आईट्यून्स द्वारा तकनीकी रूप से त्रुटि का कारण नहीं है, लेकिन एक प्रक्रिया द्वारा जो अनुरेखण को अक्षम कर दिया गया है, निम्न जैसे कोड का उपयोग करके।
ptrace(PT_DENY_ATTACH, 0, 0, 0);
यह कोड कर्नेल स्तर पर प्रक्रिया पर एक ध्वज सेट करता है, जो प्रक्रिया के डीबगिंग और ट्रेसिंग को रोकता है।
सबसे अच्छा ज्ञात अनुप्रयोग जो ऐसा करता है वह केवल iTunes होता है, वह अनुप्रयोग जिसका DRM इस API के लिए संभवत: आविष्कार किया गया था, लेकिन API अन्य प्रक्रियाओं के लिए उपलब्ध है। मैंने इस API का उपयोग करते हुए कई पार्टी एप्लिकेशन को देखा है।
बेशक, सभी DRM की तरह इसे तोड़ा जा सकता है। डिबगर का उपयोग करने से लेकर कर्नेल एक्सटेंशन तक कर्नेल स्थान में पैच आउट करने वाले कर्नेल एक्सटेंशन को छोड़ने के लिए इस एंटी-ट्रेसिंग और एंटी-डिबगिंग फ़ीचर को दरकिनार करने के विकल्प।
Https://unix.stackexchange.com/a/276219 से लिया गया
यह संभावित रूप से एल कैपिटन और उसके सिस्टम इंटीग्रिटी प्रोटेक्शन (
csrutil status
) से संबंधित है जोdtrace
व्यवहार को प्रभावित कर सकता है।संभावित सुधार में पुनर्प्राप्ति मोड में मैक को रिबूट करना शामिल है ( ⌘- Rबूट समय पर), फिर टर्मिनल रन में:
csrutil enable --without dtrace
SIP को सक्षम रखने के लिए, लेकिन DTrace प्रतिबंधों को अक्षम करें (ध्यान दें: यह अनिर्दिष्ट पैरामीटर है )।
या एसआईपी को पूरी तरह से निष्क्रिय कर दें:
csrutil disable # Not recommended.
देख: