
सिस्टम उपयोगिता जो पैकेज अपग्रेड के बाद पुरानी लाइब्रेरी का उपयोग करने वाले डेमॉन (daemons) की पहचान करती है और सुरक्षा बनाए रखने के लिए उन्हें पुनरारंभ करती है। कंटेनर और इंटरप्रेटर का समर्थन करती है।
needrestart जाँचता है कि लाइब्रेरी अपग्रेड के बाद किन डेमन्स को पुनः प्रारंभ करने की आवश्यकता है। यह debian-goodies पैकेज के checkrestart से प्रेरित है।
ex/ डायरेक्टरी में कुछ हुक स्क्रिप्ट हैं (जिन्हें apt और dpkg के साथ
उपयोग किया जाना है। स्क्रिप्ट्स किसी भी पैकेज इंस्टॉलेशन/अपग्रेड के बाद needrestart
को कॉल करेंगी।
needrestart GNU/Linux पर काम करना चाहिए। GNU/kFreeBSD पर इसकी सीमित कार्यक्षमता है,
क्योंकि /proc/<pid>/maps हटाए गए फ़ाइल लिंक नहीं दिखाता है।
needrestart systemd का समर्थन करता है लेकिन उसकी आवश्यकता नहीं है (v0.6 से उपलब्ध)। यदि systemd उपयोग किया जाता है, तो आपको libpam-systemd का भी उपयोग करना चाहिए। यदि needrestart systemd का पता लगाता है, तो यह मान लेगा कि libpam-systemd उपयोग हो रहा है और यह cgroup नामों पर निर्भर करता है, यह पता लगाने के लिए कि कोई प्रक्रिया उपयोगकर्ता सत्र से संबंधित है या डेमन से। यदि आप libpam-systemd का उपयोग नहीं करते हैं, तो आपको $nrconf{has_pam_systemd} को 0 पर सेट करना चाहिए needrestart.conf में।
यदि systemd उपलब्ध नहीं है या कोई सेवा नाम नहीं लौटाता है, तो needrestart संबंधित System V इनिट स्क्रिप्ट की पहचान करने के लिए हुक का उपयोग करता है। शामिल हुक निम्नलिखित पैकेज प्रबंधकों का समर्थन करते हैं:
service कमांड का उपयोग पारंपरिक System V इनिट स्क्रिप्ट चलाने के लिए किया जाता है।
needrestart उपयोगकर्ता इंटरफ़ेस प्रदान करने वाले perl पैकेजों पर आधारित एक मॉड्यूलर दृष्टिकोण का उपयोग करता है। निम्नलिखित फ्रंटएंड शामिल हैं:
needrestart 0.8 एक अप्रचलित कर्नेल का पता लगाने की सुविधा लाता है। needrestart 3.5 के बाद से कर्नेल इमेज फ़ाइलनामों को फ़िल्टर करना संभव है (Raspberry Pi पर आवश्यक)।
needrestart 3.0 में Intel CPUs के लिए प्रोसेसर माइक्रोकोड अपडेट डिटेक्शन सुविधा जोड़ी गई है। needrestart 3.5 के बाद से AMD CPU समर्थन जोड़ा गया है।
needrestart 0.8 एक इंटरप्रेटर स्कैनिंग सुविधा लाता है। इंटरप्रेटर न केवल बाइनरी (साझा) ऑब्जेक्ट्स को मैप करते हैं बल्कि प्लेनटेक्स्ट स्रोत फ़ाइलों का भी उपयोग करते हैं। इंटरप्रेटर डिटेक्शन पुरानी स्रोत फ़ाइलों की जाँच करने का प्रयास करता है, क्योंकि उनमें भी सुरक्षा समस्याएँ हो सकती हैं। यह केवल एक ह्युरिस्टिक है और सभी प्रासंगिक स्रोत फ़ाइलों का पता लगाने में विफल हो सकता है। निम्नलिखित इंटरप्रेटर स्कैनर शामिल हैं:
needrestart 2.1 कुछ कंटेनर तकनीकों का पता लगाता है। यदि कोई प्रक्रिया किसी कंटेनर का हिस्सा है, तो उसे Sys-V/systemd का उपयोग करके पुनः प्रारंभ करना संभव नहीं हो सकता है।
कंटेनर का पता लगाने और पुनः प्रारंभ करने को लागू करने वाले विशेष perl पैकेज (NeedRestart::CONT::*) हैं। निम्नलिखित कंटेनर डिटेक्टर शामिल हैं:
needrestart को बैच मोड में चलाया जा सकता है ताकि परिणामों का उपयोग अन्य प्रोग्रामों या स्क्रिप्ट्स में किया जा सके।
एक nagios प्लगइन मोड भी उपलब्ध है।