Πώς να σκοτώσει διαδικασίες χρησιμοποιώντας Linux

Τις περισσότερες φορές θα θελήσετε να τερματίσετε ένα πρόγραμμα με τα δικά του μέσα ή, εάν πρόκειται για γραφική εφαρμογή, χρησιμοποιώντας την κατάλληλη επιλογή μενού ή χρησιμοποιώντας το σταυρό στη γωνία.

Κάθε τόσο ένα πρόγραμμα θα κρεμάσει, οπότε θα χρειαστείτε μια μέθοδο για τη θανάτωσή του. Ίσως θελήσετε επίσης να σκοτώσετε ένα πρόγραμμα που εκτελείται στο παρασκήνιο και δεν χρειάζεται πλέον να εκτελείται.

Αυτός ο οδηγός παρέχει μια μέθοδο θανάτωσης όλων των εκδόσεων της ίδιας εφαρμογής που εκτελούνται στο σύστημά σας.

Πώς να χρησιμοποιήσετε την εντολή killall

Η εντολή killall σκοτώνει όλες τις διαδικασίες με το όνομα. Αυτό σημαίνει ότι αν έχετε τρεις εκδόσεις του ίδιου προγράμματος τρέχοντας την εντολή killall θα σκοτώσει και τα τρία.

Για παράδειγμα, ανοίξτε ένα μικρό πρόγραμμα όπως ένα πρόγραμμα προβολής εικόνων. Τώρα ανοίξτε ένα άλλο αντίγραφο του ίδιου προγράμματος προβολής εικόνων. Για παράδειγμα, έχω επιλέξει τον Xviewer που είναι ένας κλώνος του Eye of Gnome .

Τώρα ανοίξτε ένα τερματικό και πληκτρολογήστε την ακόλουθη εντολή:

killall

Για παράδειγμα, για να σκοτώσετε όλες τις εμφανίσεις του τύπου Xviewer, ακολουθήστε τα εξής:

killall xviewer

Και οι δύο περιπτώσεις του προγράμματος που έχετε επιλέξει να σκοτώσετε θα κλείσουν τώρα.

Σκοτώστε την Ακριβή Διαδικασία

killall μπορεί να παράγει περίεργα αποτελέσματα. Λοιπόν εδώ είναι ένας λόγος για τον οποίο. Αν έχετε ένα όνομα εντολής που έχει μήκος μεγαλύτερο από 15 χαρακτήρες τότε η εντολή killall θα λειτουργεί μόνο στους πρώτους 15 χαρακτήρες. Αν συνεπώς έχετε δύο προγράμματα που μοιράζονται τα ίδια πρώτα 15 χαρακτήρες, και τα δύο προγράμματα θα ακυρωθούν ακόμα κι αν θέλετε να σκοτώσετε μόνο ένα.

Για να το κάνετε αυτό μπορείτε να ορίσετε τον ακόλουθο διακόπτη ο οποίος θα σκοτώσει μόνο τα αρχεία που ταιριάζουν με το ακριβές όνομα.

killall -e

Αγνοήστε την περίπτωση κατά τη θανάτωση προγραμμάτων

Για να βεβαιωθείτε ότι η εντολή killall αγνοεί την περίπτωση του ονόματος προγράμματος που παρέχετε χρησιμοποιήστε την ακόλουθη εντολή:

killall -I
killall - αρχική περίπτωση

Σκοτώστε όλα τα προγράμματα στην ίδια ομάδα

Όταν εκτελείτε μια εντολή όπως η ακόλουθη θα δημιουργήσει δύο διαδικασίες:

ps -ef | πιο λιγο

Μία εντολή είναι για το τμήμα ps -ef το οποίο απαριθμεί όλες τις τρέχουσες διαδικασίες στο σύστημά σας και η έξοδος είναι συνδεδεμένη με τη λιγότερη εντολή .

Και τα δύο προγράμματα ανήκουν στην ίδια ομάδα που είναι bash.

Για να σκοτώσετε ταυτόχρονα και τα δύο προγράμματα, μπορείτε να εκτελέσετε την ακόλουθη εντολή:

killall -g

Για παράδειγμα, για να σκοτώσετε όλες τις εντολές που εκτελούνται σε ένα shell bash εκτελέστε τα εξής:

killall-g bash

Παρεμπιπτόντως, για να εμφανίσετε όλες τις τρέχουσες ομάδες, εκτελέστε την ακόλουθη εντολή:

ps -g

Λάβετε επιβεβαίωση πριν σκοτώσετε τα προγράμματα

Προφανώς, η εντολή killall είναι μια πολύ ισχυρή εντολή και δεν θέλετε να σκοτώσετε τυχαία τις λανθασμένες διαδικασίες.

Χρησιμοποιώντας τον ακόλουθο διακόπτη, θα ερωτηθείτε αν είστε βέβαιοι πριν σκοτώσετε κάθε διαδικασία.

killall -i

Kill διαδικασίες που έχουν τρέξει για ένα ορισμένο χρονικό διάστημα

Φανταστείτε ότι έχετε τρέξει ένα πρόγραμμα και διαρκεί πολύ περισσότερο από ό, τι ελπίζατε.

Μπορείτε να σκοτώσετε την εντολή με τον ακόλουθο τρόπο:

killall -o h4

Η h στην παραπάνω εντολή αντιπροσωπεύει ώρες.

Μπορείτε επίσης να ορίσετε οποιοδήποτε από τα παρακάτω:

Εναλλακτικά, εάν θέλετε να σκοτώσετε εντολές που μόλις ξεκίνησαν, μπορείτε να χρησιμοποιήσετε τον ακόλουθο διακόπτη:

killall-h4 σας

Αυτή τη φορά η εντολή killall θα σκοτώσει όλα τα προγράμματα που εκτελούνται για λιγότερο από 4 ώρες.

Μην μου λέτε όταν μια διαδικασία δεν έχει σκοτωθεί

Από προεπιλογή, αν προσπαθήσετε και σκοτώσετε ένα πρόγραμμα που δεν εκτελείται, θα λάβετε το ακόλουθο σφάλμα:

όνομα προγράμματος: δεν βρέθηκε καμία διαδικασία

Αν δεν θέλετε να ενημερωθείτε εάν η διαδικασία δεν βρέθηκε χρησιμοποιήστε την ακόλουθη εντολή:

killall -q

Χρησιμοποιώντας τακτικές εκφράσεις

Αντί να καθορίσετε το όνομα ενός προγράμματος ή μιας εντολής, μπορείτε να ορίσετε μια κανονική έκφραση έτσι ώστε όλες οι διαδικασίες που ταιριάζουν με την κανονική έκφραση να κλείνουν από την εντολή killall.

Για να χρησιμοποιήσετε μια κανονική έκφραση, χρησιμοποιήστε την ακόλουθη εντολή:

killall-r

Kill Προγράμματα Για A Καθορίστε Χρήστη

Εάν θέλετε να σκοτώσετε ένα πρόγραμμα που εκτελείται από ένα συγκεκριμένο χρήστη, μπορείτε να ορίσετε την ακόλουθη εντολή:

killall -u

Αν θέλετε να σκοτώσετε όλες τις διαδικασίες για έναν συγκεκριμένο χρήστη, μπορείτε να παραλείψετε το όνομα του προγράμματος.

Περιμένετε μέχρι να τελειώσει το killall

Από προεπιλογή, το killall θα επιστρέψει κατ 'ευθείαν στο τερματικό όταν το εκτελείτε, αλλά μπορείτε να εξαναγκάσετε το killall να περιμένει μέχρι να κλείσουν όλες οι διαδικασίες που έχουν καθοριστεί πριν επιστρέψετε στο παράθυρο του τερματικού.

Για να το κάνετε αυτό εκτελέστε την ακόλουθη εντολή:

killall -w

Αν το πρόγραμμα δεν πεθάνει ποτέ, τότε το killall θα συνεχίσει να ζει.

Σήματα Σήματα Σήμανσης

Από προεπιλογή, η εντολή killall στέλνει το σήμα SIGTERM σε προγράμματα για να τα κλείσει και αυτή είναι η καθαρότερη μέθοδος για τη θανάτωση προγραμμάτων.

Υπάρχουν, ωστόσο, άλλα σήματα που μπορείτε να στείλετε χρησιμοποιώντας την εντολή killall και μπορείτε να τα καταχωρίσετε χρησιμοποιώντας την ακόλουθη εντολή:

killall -l

Η λίστα που επιστρέφεται θα είναι κάτι σαν αυτό:

Ο κατάλογος αυτός είναι εξαιρετικά μεγάλος. Για να διαβάσετε σχετικά με το τι σημαίνουν αυτά τα σήματα, εκτελέστε την ακόλουθη εντολή:

σήμα 7

Γενικά, θα πρέπει να χρησιμοποιήσετε την προεπιλεγμένη επιλογή SIGTERM, αλλά εάν το πρόγραμμα αρνείται να πεθάνει, μπορείτε να χρησιμοποιήσετε το SIGKILL το οποίο αναγκάζει το πρόγραμμα να κλείσει, αν και με αξιοπρεπή τρόπο.

Άλλοι τρόποι για να σκοτώσει ένα πρόγραμμα

Υπάρχουν 5 άλλοι τρόποι για να σκοτώσετε μια εφαρμογή Linux όπως επισημαίνεται στον οδηγό που συνδέεται.

Ωστόσο, για να σας εξοικονομήσει προσπάθεια κάνοντας κλικ στο σύνδεσμο εδώ είναι μια ενότητα που δείχνει τι είναι αυτές οι εντολές είναι γιατί μπορείτε να χρησιμοποιήσετε αυτές τις εντολές πέρα ​​από το killall.

Η πρώτη είναι η εντολή kill. Η εντολή killall, όπως είδατε, είναι μεγάλη για τη θανάτωση όλων των εκδόσεων του ίδιου προγράμματος. Η εντολή kill είναι σχεδιασμένη να σκοτώνει μια διαδικασία κάθε φορά και επομένως είναι πιο στοχοθετημένη.

Για να εκτελέσετε την εντολή kill, πρέπει να γνωρίζετε το αναγνωριστικό διαδικασίας της διαδικασίας που θέλετε να σκοτώσετε. Για αυτό μπορείτε να χρησιμοποιήσετε την εντολή ps .

Για παράδειγμα, για να βρείτε μια τρέχουσα έκδοση του Firefox, μπορείτε να εκτελέσετε την ακόλουθη εντολή:

ps -ef | grep firefox

Θα δείτε μια γραμμή δεδομένων με την εντολή / usr / lib / firefox / firefox στο τέλος. Στην αρχή της γραμμής θα δείτε το αναγνωριστικό χρήστη και ο αριθμός μετά το αναγνωριστικό χρήστη είναι το αναγνωριστικό διαδικασίας.

Χρησιμοποιώντας το αναγνωριστικό διαδικασίας, μπορείτε να σκοτώσετε τον Firefox, εκτελώντας την ακόλουθη εντολή:

kill -9

Ένας άλλος τρόπος για να σκοτώσετε ένα πρόγραμμα είναι η χρήση της εντολής xkill. Αυτό χρησιμοποιείται γενικά για να σκοτώσει κακόβουλες γραφικές εφαρμογές.

Για να σκοτώσετε ένα πρόγραμμα όπως το Firefox, ανοίξτε ένα τερματικό και εκτελέστε την ακόλουθη εντολή:

xkill

Ο δρομέας θα αλλάξει τώρα σε ένα μεγάλο λευκό σταυρό. Τοποθετήστε το δείκτη του ποντικιού πάνω από το παράθυρο που θέλετε να σκοτώσετε και κάντε κλικ με το αριστερό πλήκτρο του ποντικιού. Το πρόγραμμα θα εξέλθει αμέσως.

Ένας άλλος τρόπος για να σκοτώσετε μια διαδικασία είναι να χρησιμοποιήσετε την εντολή top Linux. Η επάνω εντολή αναφέρει όλες τις τρέχουσες διαδικασίες στο σύστημά σας.

Το μόνο που έχετε να κάνετε για να σκοτώσετε μια διαδικασία είναι να πατήσετε το πλήκτρο "k" και να εισάγετε το αναγνωριστικό διαδικασίας της εφαρμογής που θέλετε να σκοτώσετε.

Νωρίτερα σε αυτή την ενότητα η εντολή kill και σας απαίτησε να βρεθείτε στη διαδικασία χρησιμοποιώντας την εντολή ps και στη συνέχεια να σκοτώσετε τη διαδικασία χρησιμοποιώντας την εντολή kill.

Αυτή δεν είναι η απλούστερη επιλογή με οποιοδήποτε μέσο.

Για ένα πράγμα, η εντολή ps επιστρέφει τα φορτία των πληροφοριών που δεν χρειάζεστε. Το μόνο που θέλατε ήταν το αναγνωριστικό διαδικασίας. Μπορείτε να πάρετε το αναγνωριστικό διαδικασίας πιο απλά τρέχοντας την ακόλουθη εντολή:

pgrep firefox

Το αποτέλεσμα της παραπάνω εντολής είναι απλά το αναγνωριστικό διαδικασίας του Firefox. Τώρα μπορείτε να εκτελέσετε την εντολή kill ως εξής:

kill

(Αντικαταστήστε με το πραγματικό αναγνωριστικό διαδικασίας που επιστρέφει το pgrep).

Στην πραγματικότητα είναι ευκολότερο, ωστόσο, να παρέχετε απλά το όνομα του προγράμματος στο pkill ως εξής:

pkill firefox

Τέλος, μπορείτε να χρησιμοποιήσετε ένα γραφικό εργαλείο όπως αυτό που παρέχεται με το Ubuntu που ονομάζεται "System Monitor". Για να εκτελέσετε το "System Monitor", πατήστε το πλήκτρο super (κλειδί των Windows στους περισσότερους υπολογιστές) και πληκτρολογήστε "sysmon" στη γραμμή αναζήτησης. Όταν εμφανιστεί το εικονίδιο του συστήματος παρακολούθησης, κάντε κλικ σε αυτό.

Η οθόνη του συστήματος εμφανίζει μια λίστα διαδικασιών. Για να τερματίσετε ένα πρόγραμμα με καθαρό τρόπο, επιλέξτε το και πατήστε το πλήκτρο τερματισμού στο κάτω μέρος της οθόνης (ή πατήστε CTRL και E). Αν αυτό δεν λειτουργεί, κάντε δεξί κλικ και επιλέξτε "Kill" ή πιέστε CTRL και K για τη διαδικασία που θέλετε να σκοτώσετε.