Πώς να σκοτώσετε διεργασίες Linux/εφαρμογές που δεν ανταποκρίνονται χρησιμοποιώντας την εντολή 'xkill'


Πώς σκοτώνουμε έναν πόρο/διεργασία στο Linux; Προφανώς βρίσκουμε το PID του πόρου και μετά περνάμε το PID στην εντολή kill.

Μιλώντας με μεγαλύτερη ακρίβεια, μπορούμε να βρούμε PID ενός πόρου (ας πούμε τερματικό) ως εξής:


ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

Στην παραπάνω έξοδο, ο αριθμός «6228» είναι το PID της διαδικασίας (gnome-terminal), χρησιμοποιήστε την εντολή kill για να σκοτώσετε τη διαδικασία όπως φαίνεται παρακάτω.


kill 6228

Η εντολή kill στέλνει ένα σήμα σε μια διεργασία, της οποίας το PID μεταβιβάζεται μαζί με την εντολή.

Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε την εντολή pkill, η οποία σκοτώνει μια διαδικασία που βασίζεται στο όνομα και άλλα χαρακτηριστικά μιας διεργασίας. Για να σκοτώσουμε μια διεργασία, πείτε το όνομα της οποίας είναι τερματικό, πρέπει να εκτελέσουμε:


pkill terminal

Σημείωση: Το μήκος του ονόματος της διαδικασίας στο pkill περιορίζεται σε 15 χαρακτήρες.

Το pkill φαίνεται πιο εύχρηστο καθώς μπορείτε να σκοτώσετε μια διαδικασία χωρίς να χρειάζεται να μάθετε το PID της. Αλλά αν θέλετε να έχετε καλύτερο έλεγχο στο σύστημά σας, τίποτα δεν ξεπερνά την εντολή «kill». Χρησιμοποιώντας το kill θα έχετε καλύτερη εικόνα για τη διαδικασία που σκοτώνετε.

Έχουμε ήδη καλύψει έναν λεπτομερή οδηγό για τις εντολές kill, pkill και killall.

Για όσους εκτελούν τον διακομιστή X υπάρχει ένα άλλο εργαλείο που ονομάζεται xkill το οποίο μπορεί να σκοτώσει μια διεργασία από το παράθυρο X χωρίς να περάσει το όνομα της διαδικασίας ή το PID της.

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

Υποστηρίζει επιλογές όπως σύνδεση σε συγκεκριμένο διακομιστή X (-εμφανιζόμενο όνομα) χρησιμοποιώντας αριθμό εμφάνισης όταν εκτελούνται ταυτόχρονα πολλοί διακομιστές X σε έναν κεντρικό υπολογιστή και σκοτώνει όλο τον πελάτη (-όλα, δεν συνιστάται) με παράθυρα ανώτατου επιπέδου στην οθόνη καθώς και να λάβετε υπόψη το πλαίσιο (-πλαίσιο).

Για να λάβετε μια λίστα με όλους τους πελάτες που μπορείτε να εκτελέσετε:


xlsclients
Δείγμα εξόδου

'  ' /usr/lib/libreoffice/program/soffice
deb  gnome-shell
deb  Docky
deb  google-chrome-stable
deb  soffice
deb  gnome-settings-daemon
deb  gnome-terminal-server

Εάν δεν μεταβιβαστεί κανένα αναγνωριστικό πόρου με αναγνωριστικό, το xkill μετατρέπει τον δείκτη του ποντικιού σε ειδικό σύμβολο, παρόμοιο με το «X». Απλώς κάντε κλικ στο παράθυρο που θέλετε να σκοτώσετε και αυτό θα σκοτώσει την επικοινωνία του με τον διακομιστή ή θα πει ότι το πρόγραμμα σκοτώνεται.


xkill

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

Σημεία που πρέπει να αναφερθούν εδώ:

  1. Αυτό το εργαλείο λειτουργεί μόνο όταν εκτελείται ο διακομιστής X11, καθώς το xkill είναι μέρος του βοηθητικού προγράμματος X11.
  2. Μην συγχέετε με το Κλείσιμο και τη δολοφονία ενός πόρου. Ενώ σκοτώνετε έναν πόρο, μπορεί να περιμένετε να μην βγει καθαρά.
  3. Αυτό δεν αντικαθιστά το kill utility.
Χρειάζεται να πάω στη γραμμή εντολών Linux για να καλέσω το xkill;

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

Δείτε πώς μπορείτε να ρυθμίσετε μια συντόμευση πληκτρολογίου σε ένα τυπικό περιβάλλον επιφάνειας εργασίας gnome3.

Μεταβείτε στις Ρυθμίσεις –> Επιλέξτε πληκτρολόγιο, κάντε κλικ στο ‘+’ και προσθέστε όνομα και εντολή. Κάντε κλικ στη νέα καταχώρηση και πατήστε το πλήκτρο που θέλετε να χρησιμοποιήσετε ως συνδυασμό πλήκτρων συντόμευσης. Έκανα Ctrl+Alt+Shift+x.

Την επόμενη φορά που θέλετε να σκοτώσετε έναν πόρο X, απλώς καλέστε τον συνδυασμό πλήκτρων (Ctrl+Alt+Shift+x) και θα παρατηρήσετε ότι ο δείκτης του ποντικιού σας έχει αλλάξει σε x. Κάντε κλικ στον πόρο x που θέλετε να σκοτώσετε και όλα έγιναν!