जवाबों:
वे पूरी तरह से अलग तरीके से काम करते हैं।
प्रोग्राम अनबफ़र नाम कमांड चलाने की अपेक्षा करता है। क्योंकि उम्मीद है कि बच्चे की प्रक्रिया की गति को रोकने के लिए एक छद्म टीटी बनाता है, बच्चे को यह सोचकर बेवकूफ बनाया जा सकता है कि उसे ब्लॉक-बफ़रिंग के बजाय लाइन-बफ़रिंग का उपयोग करना चाहिए। कुछ कार्यक्रम अपने व्यवहार को बदल देंगे जब isatty (stdout) सच है, अन्य नहीं करेंगे और यह जानना बहुत कठिन है कि कौन सा होगा और कौन सा नहीं।
कार्यक्रम stdbuf गतिशील रूप से भरी हुई बायनेरिज़ के लिए libstdbuf को libc के सामने रखने का प्रयास करता है। जहाँ libstdbuf libdddd कॉल की डिफ़ॉल्ट बफरिंग रणनीति को फिर से परिभाषित करता है।
मुझे यह पता चला
apt-get source expect coreutils
और प्रत्येक कार्यक्रम के लिए प्रासंगिक स्रोत पढ़ना।
unbuffer -p
यदि कोई प्रक्रिया अनबफर करने के लिए इनपुट फीड करती है तो गलत तरीके से काम कर सकती है। विचार करें:process1 | unbuffer -p process2 | process3
यदि process1 बाहर निकलता है, तो process2 अभी तक समाप्त नहीं हुआ है। प्रतीक्षा करने के लिए लंबे समय तक जानना असंभव है