Αναγνωρίστε ένα βοήθημα VPN στο Mac πριν σκοτώσετε τη διεργασία
Ταιριάξτε μια διεργασία VPN με το εκτελέσιμο αρχείο της, τον ελεγκτή της και τον ρόλο δικτύου της πριν τη σταματήσετε, και μετά χρησιμοποιήστε τη διαδρομή διακοπής του ιδιοκτήτη αντί για σήμα.
Αντιμετωπίστε ένα μήνυμα για ένα βοηθητικό πρόγραμμα που εκτελείται ήδη ως ένδειξη κύκλου ζωής, όχι ως άδεια να αρχίσετε να σκοτώνετε διεργασίες. Το επικίνδυνο βήμα δεν είναι η ίδια η διακοπή αλλά η αναγνώριση πριν από αυτήν, επειδή πολλά στοιχεία με παρόμοια ονόματα μπορούν να υπάρχουν σε ένα Mac και μόνο ένα από αυτά κατέχει τη σύνδεση. Κατασκευάστε πρώτα το αρχείο ταυτότητας. Στη συνέχεια αποφασίστε αν η διακοπή είναι καν η σωστή ενέργεια.
Κατασκευάστε αρχείο ταυτότητας πριν ενεργήσετε
Τέσσερα γεγονότα κάνουν μια διεργασία αναγνωρίσιμη: το τρέχον PID με την ώρα έναρξής του, το εκτελέσιμο αρχείο και το προϊόν στο οποίο ανήκει, το πλαίσιο χρήστη ή προνομίων υπό το οποίο εκτελείται, και ό,τι κι αν την ξεκίνησε. Το ps -o pid,ppid,user,etime,command -p 1234 σας δίνει τα τρία πρώτα σε μία γραμμή, συμπεριλαμβανομένου του πόσο καιρό είναι ζωντανή η διεργασία. Το Activity Monitor δείχνει τις ίδιες πληροφορίες με πιο φιλικό πρόσωπο. Προσθέστε τον ελεγκτή, δηλαδή την εφαρμογή ή την υπηρεσία που είναι υπεύθυνη για την εκκίνηση και τη διακοπή της. Με αυτά τα τέσσερα, μια διεργασία παύει να είναι ένα όνομα και γίνεται ένα αντικείμενο για το οποίο μπορείτε να συλλογιστείτε.
Αν ένα από τα τέσσερα είναι άγνωστο, σταματήστε εκεί. Ένα άγνωστο στοιχείο είναι ερώτημα για τον εκδότη ή τον διαχειριστή, όχι πείραμα.
Το PID σε ένα παλιό αρχείο καταγραφής ανήκει πλέον σε κάποιον άλλο
Τα ID διεργασιών ανακυκλώνονται, και ένας αριθμός αντιγραμμένος από το χθεσινό αρχείο καταγραφής μπορεί τώρα να δείχνει σε κάτι εντελώς άσχετο. Συγκρίνετε την ώρα έναρξης με τη χρονική σήμανση του αρχείου πριν βγάλετε οποιοδήποτε συμπέρασμα. Το ίδιο ισχύει για ένα σύντομο όνομα: δύο εκδόσεις ενός προϊόντος μπορούν να διανέμουν βοηθήματα με πανομοιότυπα ονόματα και διαφορετικούς σκοπούς. Η ταυτότητα είναι η πλειάδα, ποτέ μόνο ο αριθμός.
Διαχωρίστε τους ρόλους πριν αγγίξετε οτιδήποτε άλλο. Ο πελάτης μιας μεμονωμένης σύνδεσης, ένα κοινόχρηστο βοήθημα που εξυπηρετεί πολλές εφαρμογές και ένας διακομιστής που δέχεται συνεδρίες άλλων μοιάζουν όλα με διεργασία παρασκηνίου σε μια λίστα. Μόνο ένα από αυτά μπορεί να διακοπεί χωρίς συνέπειες που δεν έχετε σκεφτεί.
Σταματήστε μέσω του ιδιοκτήτη, όχι μέσω του σήματος
Ξεκινήστε με το χειριστήριο που κατέχει το πράγμα: το κουμπί Αποσύνδεση της σύνδεσης, την υποστηριζόμενη εντολή διακοπής της υπηρεσίας ή την ίδια την ενέργεια του πράκτορα διαχείρισης. Αυτές οι διαδρομές εκτελούν την αποσυναρμολόγηση που περιμένει το προϊόν, η οποία περιλαμβάνει αφαίρεση διαδρομών και κλείσιμο της συσκευής σήραγγας. Ένα σήμα τα παρακάμπτει όλα και αφήνει κατάσταση πίσω.
Παρατηρήστε τι μένει μετά. Μια διεργασία που παραμένει στη μνήμη μπορεί να περιμένει την επόμενη σύνδεση, κάτι που είναι επιλογή σχεδίασης και όχι αποτυχημένη διακοπή.
Γιατί ένας επόπτης επανεκκινεί αυτό που σκοτώσατε
Αν ένας δαίμονας εκκίνησης ή μια πολιτική αυτόματης σύνδεσης προορίζει τη σήραγγα να είναι ενεργή, το σκότωμα της διεργασίας δεν εκφράζει τίποτα. Ο επόπτης βλέπει την έξοδο και την ξεκινά ξανά, μερικές φορές πριν τελειώσετε το διάβασμα του αρχείου καταγραφής.
Βρείτε τον επόπτη πριν παλέψετε μαζί του. Το launchctl list δείχνει φορτωμένες εργασίες και τις ετικέτες τους, και μια εργασία με ρύθμιση διατήρησης ζωής επανεκκινείται στην έξοδο εκ σχεδιασμού. Η σωστή ενέργεια εκεί είναι να αλλάξετε την πρόθεση: εκφορτώστε την εργασία, απενεργοποιήστε την πολιτική αυτόματης σύνδεσης ή ζητήστε από τον διαχειριστή να το κάνει. Η αναγκαστική έξοδος είναι άλλο εργαλείο με άλλη σημασία, και ανήκει σε τεκμηριωμένη διαδικασία ανάκτησης για μια κολλημένη διεργασία και όχι στη συνήθη διαχείριση συνδέσεων.
Καταγράψτε το συμβάν κύκλου ζωής, όχι το σκότωμα
Γράψτε την ταυτότητα του στοιχείου, την έκδοση του πελάτη, το πρώτο σχετικό συμβάν κύκλου ζωής και το τι κάνατε. Το συμβάν έχει μεγαλύτερη σημασία από την ενέργεια, επειδή δύο στιγμιότυπα που εμφανίζονται στη σύνδεση είναι πρόβλημα σειράς εκκίνησης που θα επαναληφθεί. Μια εγγραφή που ονομάζει το εκτελέσιμο αρχείο και τον ελεγκτή του επιτρέπει στον επόμενο να το αναπαράγει.
Έπειτα επαληθεύστε την επιδιωκόμενη κατάσταση: την υπηρεσία που χρειαζόταν ο χρήστης και τον ιδιωτικό πόρο στον οποίο φτάνει. Αποφύγετε τον αγωγό που ψάχνει ένα υποσύνολο χαρακτήρων και σκοτώνει βίαια κάθε αντιστοιχία, καθώς πετάει όλα τα παραπάνω και συνήθως καταστρέφει την απόδειξη του γιατί υπήρχαν δύο στιγμιότυπα. Αν η διεργασία επανέρχεται, το εύρημα είναι ελάττωμα διαμόρφωσης ή σειράς, και η διόρθωση ανήκει σε όποιον κατέχει τη συμπεριφορά εκκίνησης του πελάτη.