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