Σκοτώστε όλες τις διεργασίες που ανήκουν σε έναν χρήστη με το pkill
Πίνακας περιεχομένων:
Activity Monitor και το παραδοσιακό εργαλείο γραμμής εντολών 'kill' είναι σε θέση να χειριστούν τις περισσότερες ανάγκες τερματισμού διεργασιών, αλλά αν χρειάστηκε ποτέ να στοχεύσετε και να σκοτώσετε όλες τις διαδικασίες που ανήκουν σε έναν μόνο λογαριασμό χρήστη, ξέρετε μπορεί να είναι μια απογοητευτική εργασία. Αν και το Activity Monitor σάς επιτρέπει να ταξινομήσετε τις «Άλλες διεργασίες χρήστη» και να επιλέξετε πολλές διεργασίες, δεν σας επιτρέπει να τερματίσετε πολλές διεργασίες ταυτόχρονα.Ομοίως, οι τυπικές εντολές kill και killall στοχεύουν γενικά σε συγκεκριμένες διαδικασίες και όχι σε κάθε εργασία που ανήκει σε έναν συγκεκριμένο λογαριασμό χρήστη. Εδώ μπαίνει η εντολή 'pkill', η οποία καθιστά εύκολη την άμεση εξάλειψη κάθε διαδικασίας που ανήκει σε οποιονδήποτε χρήστη μέσω του τερματικού.
Πώς να σκοτώσετε όλες τις διεργασίες από έναν χρήστη με το pkill
Η βασική σύνταξη για τη χρήση του pkill για τη θανάτωση όλων των διεργασιών ενός χρήστη είναι η εξής:
pkill -u όνομα χρήστη
Επαληθεύστε ότι όλες οι διεργασίες που ανήκουν σε αυτόν τον χρήστη έχουν τερματιστεί χρησιμοποιώντας τη σημαία -u στην εντολή ps:
ps -u όνομα χρήστη
Υποθέτοντας ότι όλα πήγαν όπως έπρεπε, θα βρείτε μια κενή λίστα που αναφέρθηκε.
pkill δεν κάνει διάκριση πεζών-κεφαλαίων, που σημαίνει ότι ένα όνομα χρήστη του "TestUser" θα αναγνωριστεί το ίδιο με το "testuser".
Εάν πρόκειται να το δοκιμάσετε μόνοι σας, θα ήταν καλύτερο να χρησιμοποιήσετε τη γρήγορη εναλλαγή χρήστη για να ξεκινήσετε μια νέα σύνδεση με άλλο λογαριασμό χρήστη ή να χρησιμοποιήσετε τον διακομιστή ssh και να το εκτελέσετε σε άλλον τοπικό Mac. Η χρήση του pkill στο δικό σας ενεργό όνομα χρήστη θα προκαλέσει τον τερματισμό όλων των διεργασιών, ορισμένες από τις οποίες ανανεώνονται αμέσως, αλλά πολλές διεργασίες στο παρασκήνιο δεν θα ξεκινήσουν ξανά αυτόματα. Αυτό οδηγεί σε κάθε είδους περίεργη συμπεριφορά, και ανάλογα με το τι τρέχετε, μην εκπλαγείτε πολύ όταν διαπιστώσετε ότι το λειτουργικό σύστημα θα γίνει τόσο άχρηστο που θα χρειαστεί είτε να αποσυνδεθείτε και να εισέλθετε ξανά, είτε ακόμη και να κάνετε επανεκκίνηση εάν ο ενεργός χρήστης ο λογαριασμός που στόχευε το pkill ήταν είτε root είτε επίπεδο διαχείρισης.
Η εντολή pkill είναι λίγο δυναμική όταν δείχνει τα ονόματα χρήστη και μπορεί να θεωρηθεί ως ένας τρόπος ουσιαστικής αναγκαστικής διακοπής ό,τι ανήκει σε έναν συνδεδεμένο χρήστη, αλλά αυτό μπορεί επίσης να το κάνει πολύ ισχυρό εργαλείο για την αντιμετώπιση προβλημάτων και όταν αντιμετωπίζετε ανενεργές ή ζόμπι διεργασίες που έχουν μείνει άθικτες παρά την αποσύνδεση ενός χρήστη.
Έχουμε συζητήσει την εντολή pkill στο παρελθόν για τη θανάτωση διεργασιών με χαρακτήρες μπαλαντέρ και συγκεκριμένες εφαρμογές/διεργασίες που ανήκουν σε έναν μόνο χρήστη, και παρόλο που είναι μια πρόσφατη προσθήκη στο Mac από το Mac OS από το Mac OS X Mountain Lion και μετά, κυκλοφορεί στον κόσμο του Linux εδώ και αρκετό καιρό.