प्रक्रिया रोक्नुअघि Mac को VPN हेल्पर पहिचान गर्नुहोस्
रोक्नुअघि VPN प्रक्रियालाई यसको कार्यान्वयन फाइल, नियन्त्रक र नेटवर्क भूमिकासँग मिलाउनुहोस्, त्यसपछि सिग्नलको सट्टा मालिकको रोक्ने मार्ग प्रयोग गर्नुहोस्।
पहिले नै चलिरहेको हेल्परबारे आउने सन्देशलाई जीवनचक्रको सङ्केतका रूपमा लिनुहोस्, प्रक्रिया मार्न सुरु गर्ने अनुमतिका रूपमा होइन। खतरनाक चरण रोक्ने कार्य आफैं होइन, त्यसअघिको पहिचान हो, किनकि एउटै Mac मा समान नामका धेरै कम्पोनेन्ट हुन सक्छन् र तीमध्ये एउटाले मात्र जडानको स्वामित्व राख्छ। पहिले पहिचान अभिलेख बनाउनुहोस्। त्यसपछि रोक्नु नै सही कदम हो कि होइन भन्ने निर्णय गर्नुहोस्।
काम गर्नुअघि पहिचान अभिलेख बनाउनुहोस्
चार तथ्यले प्रक्रियालाई पहिचानयोग्य बनाउँछन्: सुरु समयसहितको हालको PID, यो कुन कार्यान्वयन फाइल र उत्पादनको हो, यो कुन प्रयोगकर्ता वा विशेषाधिकार सन्दर्भमा चल्छ, र यसको सुरुवात केले भयो। ps -o pid,ppid,user,etime,command -p 1234 ले पहिलो तीन तथ्य एउटै लाइनमा दिन्छ, प्रक्रिया कति बेर चलिरहेको छ भन्नेसमेत। एक्टिभिटी मोनिटरले त्यही जानकारी अझ सजिलो रूपमा देखाउँछ। नियन्त्रक पनि थप्नुहोस्, अर्थात् यसलाई सुरु र रोक्न जिम्मेवार एप्लिकेसन वा सेवा। यी चार भएपछि प्रक्रिया नाम मात्र रहँदैन, तर्क गर्न सकिने वस्तु बन्छ।
यी चारमध्ये एउटा अज्ञात भए त्यहीँ रोक्नुहोस्। अपरिचित कम्पोनेन्ट प्रकाशक वा प्रशासकका लागि प्रश्न हो, प्रयोगका लागि होइन।
पुरानो लगमा भएको PID अब अरू कसैको हो
प्रक्रिया ID हरू पुनः प्रयोग हुन्छन्, र हिजोको लगबाट कपी गरिएको नम्बरले अब पूर्ण सम्बन्धहीन कुरालाई सङ्केत गर्न सक्छ। कुनै निष्कर्ष निकाल्नुअघि सुरु समयलाई लगको टाइमस्ट्याम्पसँग तुलना गर्नुहोस्। छोटो नाममा पनि त्यही लागू हुन्छ: एउटै उत्पादनका दुई संस्करणले समान नाम तर फरक उद्देश्यका हेल्पर दिन सक्छन्। पहिचान भनेको टपल हो, नम्बर मात्र कहिल्यै होइन।
अरू केही छुनुअघि भूमिकाहरू अलग गर्नुहोस्। एउटा जडानको क्लाइन्ट, धेरै एप्लिकेसनलाई सेवा दिने साझा हेल्पर, र अरूका सत्र स्वीकार गर्ने सर्भर — यी सबै सूचीमा पृष्ठभूमि प्रक्रिया जस्तै देखिन्छन्। तीमध्ये एउटालाई मात्र तपाईंले नसोचेका परिणामबिना रोक्न सकिन्छ।
सिग्नलबाट होइन, मालिकबाट रोक्नुहोस्
जसले त्यो वस्तुको स्वामित्व राख्छ, त्यही नियन्त्रणबाट सुरु गर्नुहोस्: जडानको विच्छेद बटन, सेवाको समर्थित रोक्ने आदेश, वा व्यवस्थापन एजेन्टको आफ्नै कार्य। यी मार्गहरूले उत्पादनले अपेक्षा गरेको टियरडाउन चलाउँछन्, जसमा रुट हटाउने र टनेल यन्त्र बन्द गर्ने पर्छ। सिग्नलले यी सबै छोड्छ र पछि स्थिति बाँकी राख्छ।
पछि के बाँकी रहन्छ, हेर्नुहोस्। बसिरहेको प्रक्रिया अर्को जडानको प्रतीक्षामा हुन सक्छ, जुन असफल रोकाइ होइन, डिजाइनको छनोट हो।
सुपरभाइजरले तपाईंले मारेको कुरा किन पुनः सुरु गर्छ
यदि लन्च डेमन वा स्वतः जडान नीतिले टनेल खुला रहन चाहन्छ भने प्रक्रिया मार्नुले केही अर्थ राख्दैन। सुपरभाइजरले बाहिरिएको देख्छ र फेरि सुरु गर्छ, कहिलेकाहीँ तपाईंले लग पढिसक्नुअघि नै।
लड्नुअघि सुपरभाइजर भेट्टाउनुहोस्। launchctl list ले लोड भएका जब र तिनका लेबल देखाउँछ, र keep-alive सेटिङ भएको जब बाहिरिएपछि पुनः सुरु हुन्छ, त्यही डिजाइनअनुसार। त्यहाँ सही काम भनेको मनसाय बदल्नु हो: जब अनलोड गर्नुहोस्, स्वतः जडान नीति बन्द गर्नुहोस्, वा प्रशासकलाई त्यसो गर्न भन्नुहोस्। जबरजस्ती बन्द गर्नु फरक अर्थ बोक्ने फरक औजार हो, र यो अड्किएको प्रक्रियाका लागि लिखित रिकभरी प्रक्रियामा पर्छ, नियमित जडान व्यवस्थापनमा होइन।
मारिएको होइन, जीवनचक्र घटना अभिलेख गर्नुहोस्
कम्पोनेन्टको पहिचान, क्लाइन्ट संस्करण, पहिलो सान्दर्भिक जीवनचक्र घटना र तपाईंले के गर्नुभयो, लेख्नुहोस्। घटना कार्यभन्दा महत्त्वपूर्ण छ, किनकि लगइनमा दुई इन्स्टेन्स देखिनु सुरुवाती क्रमको समस्या हो जो दोहोरिनेछ। कार्यान्वयन फाइल र नियन्त्रकको नाम खुलाइएको अभिलेखले अर्को व्यक्तिलाई त्यो पुनःउत्पादन गर्न दिन्छ।
त्यसपछि अभिप्रेत स्थिति जाँच्नुहोस्: प्रयोगकर्तालाई चाहिएको सेवा, र त्यसले पुग्ने निजी स्रोत। सबस्ट्रिङ खोजेर हरेक मिलानलाई जबरजस्ती मार्ने पाइपलाइनबाट बच्नुहोस्, किनकि यसले माथिका सबै कुरा फाल्छ र प्रायः दुई इन्स्टेन्स किन थिए भन्ने प्रमाण नै नष्ट गर्छ। प्रक्रिया फेरि फेरि आउँछ भने निष्कर्ष कन्फिगरेसन वा क्रमको त्रुटि हो, र समाधान क्लाइन्टको सुरुवाती व्यवहारको मालिकसँगै रहन्छ।