Bàsicament, hi ha 4 maneres de Matar eficaçment un procés en Linux: Matar-lo pel nom, mitjançant l'especificació d'una part de el nom, pel PID, assenyalant la finestra de l'procés amb el cursor de l'ratolí. Vegem una per una ... |
Kill: matar un procés amb el vostre PID
La forma més complicada però a el mateix temps més precisa de matar un procés és a través del seu PID (sigles en anglès de «Identificador de Procés»). Qualsevol d'aquestes 3 variants pot servir:
kill -TERM pid kill -SIGTERM pid kill -15 pid
Es pot usar el nom del senyal (TERM o SIGTERM) que es vol enviar a l'procés o el seu número d'identificació (15). Per veure un llistat complet de les possibles senyals, suggereixo verificar el manual d'kill. Per a això, executa:
man kill
Vegem un exemple de com matar Firefox:
Primer, cal esbrinar el PID de el programa:
ps-ef | grep firefox
Aquest comandament retornarà cosa semblant a això:
1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox
Fem servir el PID retornat per la comanda anterior per aniquilar el procés:
matar -9 1986
killall: matar un procés amb el vostre nom
Aquesta comanda és ben fàcil
killall nom_procés
Una dada a tenir en compte a l'usar aquest mètode és que en cas que hi hagi més d'una instància d'aquest programa executant-se, es tancaran totes.
pkill: matar un procés usant part del seu nom
És possible aniquilar un procés especificant el nom complet o part del nom. Això vol dir que no hi ha necessitat que recordis el PID de el procés per enviar el senyal.
pkill part_nom_procés
Com a contrapartida, aquest mètode aniquilarà tots els processos que continguin la paraula ingressada. Això vol dir que si tenim oberts febrer processos que comparteixen una paraula en el nom, es tancaran tots dos.
xkill: matar un procés seleccionant la finestra amb el ratolí
Aquest és el mètode més senzill i el més pràctic. En cas de desastre, simplement pressiona Alt + F2 perquè s'obri el quadre de diàleg que et permetrà executar ordres. Des d'allà, executa la següent comanda:
xkill
El cursor de el ratolí es transformarà en una petita calavera. Tot el que resta és fer clic a la finestra que vols tancar i voilà. Chau procés.
Alguns comentaris finals
Per acabar, volia compartir alguns consells que poden ser d'utilitat. A Linux, a l'igual que en Windows, quan un procés es penja, generalment es pot tancar la finestra en qüestió fent clic al botó Tancar (que té la forma d'una X). Després d'uns segons, apareixerà una finestra preguntant-nos si realment volem aniquilar el procés ja que aquest no respon adequadament. Li donem que si i llest.
Això vol dir que els mètodes aquí descrits haurien de ser utilitzats quan no passa res a l'fer clic al botó Tancar de la finestra en qüestió.
En cas de desastre major, no oblidis que abans de pressionar és possible realitzar un reinici «segur».
Finalment, pot ser de molta utilitat descobrir quins són els processos que estan executant-se actualment. Per a això, els diferents entorns d'escriptori (GNOME, KDE, etc.) tenen eines gràfiques que faciliten aquesta tasca. No obstant això, en cas que no puguis accedir-hi o simplement desitges fer-ho des del terminal, podeu executar el següent:
superior
En cas que això no funcioni o que no tinguis el paquet corresponent instal·lat, sempre pots executar:
ps -A
Això llistarà tots els processos en execució, juntament amb els seus respectius noms i PIDs.
«Ps -ef | grep firefox »no és el mateix que fer« pgrep firefox »?
Bé personalment ús «pidof» per obtenir el PID.
Salutacions!
jo el que més ús és:
~ $ Top
mostrant-nos la llista de processos actius, després si donem a «k» o escrivim «kill» ens demanarà el pid de el procés a matar (el llegim de top) i després intro, per sortir de top premem «q».
Molt bona entrada, però em sembla més simple aquesta forma. Si el terminal no s'executa vam provar amb ctrl + alt + f [1-6] i el hacemeos des d'aquí.
Que genis nois gràcies per ajudar-me em van donar una gran mà amb aquest post !!!
Hola! ¿Pot ser que la comanda xkill només faci desaparèixer el programa de les X i segueixi obert? Perquè em passa sempre que quan vaig a l'administrador de tasques el procés segueix viu i he de matar-lo.
Ho admeto, sóc molt novell. I les ordres killall i pkill em van a servir molt. Gràcies per pujar-los, molt bon bloc.
Salutacions!
recomano htop 😀 és la millor per a això ...
funciona amb ncurses
suo apt-get install htop
pidof no és per a tots els Unix, per exemple Solaris no té aquest comando, i això ens porta a fer servir el poderós pg.
Salutacions
htop és mes verbós i friendly user
En el cas d'utilitzar PID el correcte és $ kill PID que envia el senyal SIGTERM per defecte, en el cas que el procés no respongui s'utilitza $ kill -9 PID que envia el senyal SIGKILL, això últim elimina el procés sense deixar que el mateix tancament correctament (pot haver pèrdua de dades per ex.). SIGTERM demana per favor, SIGKILL li dóna un cop de destral 🙂
Moltes gràcies, ho provaré en si em torna a passar.
una consulta. ¿Quan es penja l'entorn d'escriptori en Ubuntu (jo faig servir Unity), es pot reiniciar sense matar tots els altres processos ?. Jo no sóc molt avançat en linux i em passa a vegades que estic treballant i es penja, l'únic que es fer és el reinici segur, però perdo tot en el que estava treballant.
No se si s'entén el meu dubte.
Salutacions
Un procés en estat Zombie no es pot eliminar de la forma tradicional.
Aqui per més detalls: esdebian.org/wiki/matar-proceso-zombie
Per als més avançats, com mates a un procés en estat ZOMBIE?
només per generar una mica de xerrada 😀
Molt bo, just el que necessitava ..
La veritat és que la comanda kill és molt útil. Poder matar processos molestos amb només invocar kill és genial. Per fi una ordre que serveix per a alguna cosa.
Pregunta teòrica: Matar un procés vol dir que aquest deixa de funcionar. Llavors, la meva pregunta és a l'reves, si vull arrencar de nou aquest procés que vaig matar, com ho faig?
doncs poses ./(el nom de l'procés) &
amb això ho executes de nou i et sortirà el seu PID també 😀
Excel·lent, tenia temps buscant ajuda com aquesta. Em va ser molt útil. Moltes gràcies per compartir.
Salutacions des de San Luis Potosí, Mèxic.
Com puc matar dos processos sabent ja el seu PID en el mateix ordre?
Crec que era «kill [Primer PID] [Segona PID]
Molt interessant l'article. Aquesta web és la meva web linux de capçalera.
Generalment jo faig servir:
ps ax | grep nombre_del_proceso (això per ubicar-lo en el sistema)
kill -9 id_del_procés
Les comparteixo un curs online i gratuït de bash que camina en la volta:
https://aprendemia.com/cursos/curso-de-bash-scripting Tant de bo els sigui d'utilitat.
i si volgués que fos un perfil a linux només el que es tanqui com hauria de ser?
exemple tinc 2 perfils de firefox oberts
però només vull que un sol perfil es tanqui
perfil 1
perfil 2
vull que només el perfil 2 es tanqui com hauria de ser la comanda
per endavant gràcies per la resposta
com puc matar els processos de primer pla d'ubuntu, amb una sola línia de comndos