Βασικά υπάρχουν 4 τρόποι de Matar αποτελεσματικά α διαδικασία en Linux: σκοτώστε το με το όνομα, καθορίζοντας μέρος του ονόματος, με PID, δείχνοντας το παράθυρο της διαδικασίας με το δρομέα του ποντικιού. Ας δούμε ένα προς ένα ... |
Kill: σκοτώστε μια διαδικασία χρησιμοποιώντας το PID της
Ο πιο περίπλοκος αλλά ταυτόχρονα ο πιο ακριβής τρόπος για να σκοτώσετε μια διαδικασία είναι μέσω του PID ("Process Identifier"). Οποιαδήποτε από αυτές τις 3 παραλλαγές μπορεί να εξυπηρετήσει:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Μπορείτε να χρησιμοποιήσετε το όνομα του σήματος (TERM ή SIGTERM) που θέλετε να στείλετε στη διαδικασία ή στον αριθμό αναγνώρισής του (15). Για να δείτε μια πλήρη λίστα πιθανών σημάτων, σας προτείνω να ελέγξετε το εγχειρίδιο kill. Για να το κάνετε αυτό, εκτελέστε:
άντρας σκοτώσει
Ας δούμε ένα παράδειγμα για το πώς να σκοτώσετε τον Firefox:
Πρώτον, πρέπει να μάθετε το PID του προγράμματος:
ps -ef | grep firefox
Αυτή η εντολή θα επιστρέψει κάτι σαν αυτό:
1986; Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Χρησιμοποιούμε το PID που επιστρέφεται με την παραπάνω εντολή για να σκοτώσουμε τη διαδικασία:
kill -9 1986
killall: kill μια διαδικασία χρησιμοποιώντας το όνομά της
Αυτή η εντολή είναι πολύ εύκολη
killall process_name
Ένα πράγμα που πρέπει να θυμάστε κατά τη χρήση αυτής της μεθόδου είναι ότι εάν εκτελούνται περισσότερες από μία εμφανίσεις αυτού του προγράμματος, όλα θα κλείσουν.
pkill: σκοτώστε μια διαδικασία χρησιμοποιώντας μέρος του ονόματός της
Είναι δυνατόν να σκοτώσετε μια διαδικασία καθορίζοντας το πλήρες όνομα ή μέρος του ονόματος. Αυτό σημαίνει ότι δεν χρειάζεται να θυμάστε το PID της διαδικασίας για την αποστολή του σήματος.
pkill part_process_name
Σε αντάλλαγμα, αυτή η μέθοδος θα σκοτώσει όλες τις διαδικασίες που περιέχουν τη λέξη που έχει εισαχθεί. Αυτό σημαίνει ότι εάν έχουμε 2 διαδικασίες ανοιχτές που μοιράζονται μια λέξη στο όνομα, και οι δύο θα κλείσουν.
xkill: σκοτώστε μια διαδικασία επιλέγοντας το παράθυρο με το ποντίκι
Αυτή είναι η απλούστερη και πιο πρακτική μέθοδος. Σε περίπτωση καταστροφής, απλώς πατήστε Alt + F2 για να εμφανιστεί το παράθυρο διαλόγου που θα σας επιτρέψει να εκτελέσετε εντολές. Από εκεί, εκτελέστε την ακόλουθη εντολή:
xkill
Ο δρομέας του ποντικιού θα μετατραπεί σε ένα μικρό κρανίο. Το μόνο που μένει είναι να κάνετε κλικ στο παράθυρο που θέλετε να κλείσετε και voila. Αντίο διαδικασία.
Μερικά τελικά σχόλια
Κλείνοντας, ήθελα να μοιραστώ μερικές συμβουλές που μπορεί να είναι χρήσιμες. Στο Linux, όπως και στα Windows, όταν κρέμεται μια διαδικασία, το εν λόγω παράθυρο μπορεί γενικά να κλείσει κάνοντας κλικ στο κουμπί Κλείσιμο (το οποίο έχει σχήμα X). Μετά από λίγα δευτερόλεπτα, θα εμφανιστεί ένα παράθυρο που μας ρωτάει αν θέλουμε πραγματικά να σκοτώσουμε τη διαδικασία καθώς δεν ανταποκρίνεται σωστά. Λέμε ναι και αυτό είναι.
Αυτό σημαίνει ότι οι μέθοδοι που περιγράφονται εδώ θα πρέπει να χρησιμοποιούνται όταν δεν συμβαίνει τίποτα όταν κάνετε κλικ στο κουμπί Κλείσιμο του εν λόγω παραθύρου.
Σε περίπτωση μείζονος καταστροφής, μην ξεχνάτε ότι πριν πιέσετε είναι δυνατόν να εκτελέσετε ένα Επανεκκίνηση "ασφαλής".
Τέλος, μπορεί να είναι πολύ χρήσιμο να μάθετε ποιες διαδικασίες εκτελούνται αυτήν τη στιγμή. Για αυτό, τα διαφορετικά περιβάλλοντα επιφάνειας εργασίας (GNOME, KDE κ.λπ.) διαθέτουν γραφικά εργαλεία που διευκολύνουν αυτήν την εργασία. Ωστόσο, σε περίπτωση που δεν μπορείτε να αποκτήσετε πρόσβαση σε αυτά ή απλώς θέλετε να το κάνετε από το τερματικό, μπορείτε να εκτελέσετε τα εξής:
κορυφή
Σε περίπτωση που αυτό δεν λειτουργεί ή δεν έχετε εγκαταστήσει το αντίστοιχο πακέτο, μπορείτε πάντα να εκτελέσετε:
ps -Α
Αυτό θα εμφανίσει όλες τις τρέχουσες διαδικασίες, μαζί με τα αντίστοιχα ονόματα και PID τους.
«Ps -ef | Το "grep firefox" δεν είναι το ίδιο με το "pgrep firefox";
Προσωπικά, χρησιμοποιώ το "pidof" για να πάρω το PID.
Χαιρετισμούς!
αυτό που χρησιμοποιώ περισσότερο είναι:
~ $ κορυφή
δείχνοντας μας τη λίστα των ενεργών διεργασιών, τότε αν πατήσουμε το "k" ή γράψουμε "kill" θα μας ζητήσει το pid της διαδικασίας για να σκοτώσουμε (το διαβάζουμε από πάνω) και μετά εισάγουμε, για έξοδο από πάνω πατάμε "q"
Πολύ καλή είσοδος, αλλά αυτή η φόρμα μου φαίνεται πιο απλή. Εάν το τερματικό δεν λειτουργεί, δοκιμάστε ctrl + alt + f [1-6] και το κάνουμε από εκεί.
Τι ευφυείς παιδιά ευχαριστώ που με βοήθησαν να μου έδωσε ένα υπέροχο χέρι με αυτήν την ανάρτηση !!!
Γειά σου! Μήπως η εντολή xkill κάνει το πρόγραμμα X να εξαφανιστεί και να παραμείνει ανοιχτό; Επειδή συμβαίνει πάντα σε μένα ότι όταν πηγαίνω στο task manager η διαδικασία είναι ακόμα ζωντανή και πρέπει να την σκοτώσω.
Το παραδέχομαι, είμαι πολύ αρχάριος. Και οι εντολές killall και pkill θα με βοηθήσουν πολύ. Ευχαριστούμε που τα ανεβάσατε, πολύ καλό ιστολόγιο.
Χαιρετισμούς!
Προτείνω htop 😀 είναι το καλύτερο για αυτό ...
λειτουργεί με ncurses
sudo apt-get εγκατάσταση htop
Το pidof δεν είναι για όλα τα Unixes, για παράδειγμα το Solaris δεν έχει αυτήν την εντολή και αυτό μας οδηγεί να χρησιμοποιήσουμε το ισχυρό ps.
αφορά
Το htop είναι πιο ρητό και φιλικό προς τον χρήστη
Σε περίπτωση χρήσης PID, το σωστό είναι $ kill PID που στέλνει το σήμα SIGTERM από προεπιλογή, σε περίπτωση που η διαδικασία δεν αποκρίνεται, χρησιμοποιείται $ kill -9 PID που στέλνει το σήμα SIGKILL, το τελευταίο εξαλείφει τη διαδικασία χωρίς να αφήσει το ίδιο κλείσιμο σωστά (μπορεί να υπάρχει απώλεια δεδομένων για παράδειγμα). Ο SIGTERM ρωτάει παρακαλώ, ο SIGKILL του δίνει ένα τσεκούρι 🙂
Ευχαριστώ πολύ, θα το δοκιμάσω αν μου συμβεί ξανά.
μια ερώτηση. Όταν το περιβάλλον της επιφάνειας εργασίας κρέμεται στο Ubuntu (χρησιμοποιώ το Unity), μπορεί να γίνει επανεκκίνηση χωρίς να σκοτωθούν όλες οι άλλες διαδικασίες; Δεν είμαι πολύ προχωρημένος στο linux και μου συμβαίνει μερικές φορές ότι δουλεύω και κρέμεται, το μόνο πράγμα που κάνω είναι η ασφαλής επανεκκίνηση, αλλά χάνω όλα όσα δούλευα.
Δεν ξέρω αν η αμφιβολία μου είναι κατανοητή.
αφορά
Μια διαδικασία στην κατάσταση ζόμπι δεν μπορεί να σκοτωθεί με τον παραδοσιακό τρόπο.
Εδώ για περισσότερες λεπτομέρειες: esdebian.org/wiki/matar-proceso-zombie
Για τους πιο προχωρημένους, πώς σκοτώνετε μια διαδικασία στην κατάσταση ZOMBIE;
απλά για να δημιουργήσετε μια μικρή συνομιλία 😀
Πολύ καλό, ακριβώς αυτό που χρειαζόμουν ..
Η αλήθεια είναι ότι η εντολή kill είναι πολύ χρήσιμη. Το να είσαι σε θέση να σκοτώνεις ενοχλητικές διαδικασίες μόνο με την επίκληση του kill είναι υπέροχο. Τέλος, μια εντολή που εξυπηρετεί κάτι.
Θεωρητική ερώτηση: Η δολοφονία μιας διαδικασίας σημαίνει ότι σταματά να λειτουργεί. Έτσι, η ερώτησή μου είναι το αντίθετο, αν θέλω να επανεκκινήσω τη διαδικασία που σκότωσα, πώς μπορώ να το κάνω;
καλά, βάλατε ./ (το όνομα της διαδικασίας) &
Με αυτό το τρέχετε ξανά και το PID σας θα βγει επίσης 😀
Εξαιρετικά, είχα χρόνο να αναζητήσω βοήθεια σαν αυτό. Ήταν πολύ χρήσιμο για μένα. Ευχαριστώ πολύ για την κοινή χρήση.
Χαιρετισμούς από το San Luis Potosí, Μεξικό.
Πώς μπορώ να σκοτώσω δύο διαδικασίες γνωρίζοντας το PID τους στην ίδια εντολή;
Νομίζω ότι ήταν «kill [First PID] [Second PID]
Πολύ ενδιαφέρον άρθρο. Αυτός ο ιστότοπος είναι ο κύριος ιστότοπός μου linux.
Γενικά χρησιμοποιώ:
ps ax | grep process_name (αυτό για να το εντοπίσετε στο σύστημα)
kill -9 process_id
Μοιράζομαι ένα δωρεάν μάθημα online bash που κυμαίνεται:
https://aprendemia.com/cursos/curso-de-bash-scripting Ας ελπίσουμε ότι θα είναι χρήσιμο.
και αν ήθελα να είναι ένα προφίλ στο linux μόνο αυτό που κλείνει όπως θα έπρεπε;
παράδειγμα Έχω ανοιχτά 2 προφίλ firefox
αλλά θέλω μόνο ένα προφίλ να κλείσει
προφίλ 1
προφίλ 2
Θέλω να κλείσει μόνο το προφίλ 2 όπως θα έπρεπε να είναι η εντολή
εκ των προτέρων ευχαριστώ για την απάντηση
Πώς μπορώ να σκοτώσω τις διαδικασίες προσκηνίου ubuntu, με μία μόνο γραμμή εντολών