Comando killall de Linux para principiantes (8 ejemplos)

¬ŅKillall distingue entre may√ļsculas y min√ļsculas?

Ya hemos discutido el comando de eliminación que puede usar en caso de que desee finalizar procesos en Linux. Sin embargo, existe otra utilidad de línea de comandos que puede usar para el mismo propósito: Mátalos a todos. En este tutorial, discutiremos los conceptos básicos de este comando utilizando algunos ejemplos fáciles de entender.

Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos incluidos en este tutorial se probaron en Ubuntu 18.04 LTS.

comando killall de linux

El comando killall le permite matar procesos por nombre. La siguiente es la sintaxis de la herramienta:

killall [OPTIONS] name

Y así es como la página del manual explica la herramienta:

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.

If  the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be  selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other  killall  processes).


Los siguientes ejemplos con estilo de preguntas y respuestas deberían darle una mejor idea de cómo funciona el comando killall.

Q1. ¬ŅC√≥mo usar el comando killall?

El uso básico de la herramienta es muy sencillo: todo lo que tiene que hacer es pasar el nombre del proceso como argumento a killall. Por ejemplo, para eliminar el proceso gthumb que se estaba ejecutando en mi sistema, utilicé killall de la siguiente manera:

killall gthumb

Tenga en cuenta que, en caso de que no conozca el nombre exacto del proceso, puede usar el comando ps para obtener esta información.

Q2. ¬ŅKillall distingue entre may√ļsculas y min√ļsculas?

S√≠, lo es. Lanza un error de error ‘no se encontr√≥ ning√ļn proceso’ si el usuario no puede escribir el nombre del proceso en el caso correcto. El siguiente es un ejemplo:

¬ŅKillall distingue entre may√ļsculas y min√ļsculas?

Sin embargo, si lo desea, puede obligar a Killall a ignorar las may√ļsculas y min√ļsculas usando el -YO opci√≥n de l√≠nea de comando.

Killall ignora el caso

Q3. ¬ŅC√≥mo hacer que killall pregunte antes de finalizar el proceso?

Suponga que desea que el comando killall solicite permisos de usuario antes de que elimine un proceso, entonces puede usar el -i opción de línea de comandos. Esto hará que la operación killall sea interactiva.

Por ejemplo:

Cómo hacer que Killall pregunte antes de finalizar el proceso

Q4. ¬ŅC√≥mo elegir la se√Īal que killall env√≠a para procesar?

Por defecto, es la se√Īal SIGTERM la que killall env√≠a a los procesos. Sin embargo, tambi√©n puede enviar otras se√Īales. Puedes usar las opciones -s, –se√Īaly -SE√ĎAL para enviar estas otras se√Īales.

Sin embargo, para que esto funcione, necesita saber qu√© se√Īales puede enviar el comando killall. Esto lo puedes hacer usando el -l opci√≥n de l√≠nea de comando.

killall -l

A continuación se muestra la lista que el comando antes mencionado produjo en nuestro sistema:

C√≥mo elegir la se√Īal que killall env√≠a al proceso

P5. ¬ŅC√≥mo evitar que Killall se queje si el proceso especificado no existe?

Si el proceso cuyo nombre se pasa a ¬ękillall¬Ľ no se est√° ejecutando (no existe), la herramienta lo transmite al usuario en la salida.

evitar que killall se queje si el proceso especificado no existeAnuncio publicitario

Sin embargo, si no desea que la herramienta produzca dicha salida, puede usar el -q opción de línea de comandos.

opción de comando killall -q

Entonces puede ver que el comando killall permaneció en silencio cuando se usó -q.

P6. ¬ŅC√≥mo eliminar todos los procesos propiedad de un usuario?

Si el requisito es eliminar todos los procesos que posee un usuario específico, entonces puede usar el -tu opción proporcionada por killall. No hace falta decir que la opción requiere que especifique el nombre de usuario para el usuario como entrada.

killall -u [user-name]

Por ejemplo:

killall -u himanshu

P7. ¬ŅC√≥mo matar procesos basados ‚Äč‚Äčen el tiempo?

Supongamos que desea eliminar todos los procesos que ahora se han estado ejecutando durante más de 5 horas, entonces puede hacerlo usando el -o opción de la siguiente manera:

killall -o 5h

Por supuesto, puede especificar nombres de procesos si no desea eliminar todos los procesos. Del mismo modo, si desea eliminar procesos que tienen, digamos, menos de 4 horas de antig√ľedad, puede hacerlo utilizando el -y opci√≥n de l√≠nea de comando.

killall -y 4h
Así es como la página del manual explica estas opciones:
-o, --older-than
              Match only processes that are older (started  before)  the  time
              specified.   The  time is specified as a float then a unit.  The
              units are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours,  days,
              weeks, Months and years respectively.

-y, --younger-than
Match  only  processes that are younger (started after) the time
specified.  The time is specified as a float then a  unit.   The
units  are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours, days,
weeks, Months and years respectively.

P8. ¬ŅC√≥mo asegurarse de que killall solo regrese despu√©s de que los procesos mueran?

Despu√©s de que killall entregue la se√Īal al proceso, si desea asegurarse de que el comando solo regrese despu√©s de que el proceso muera, puede hacerlo usando el -w opci√≥n de l√≠nea de comando, que fuerza a killall a esperar.

killall -w [process-name]

Así es como la página del manual describe esta opción:

-w, --wait
              Wait  for  all killed processes to die.  killall checks once per
              second if any of the  killed  processes  still  exist  and  only
              returns if none are left.  Note that killall may wait forever if
              the signal was ignored, had no effect, or if the  process  stays
              in zombie state.

Conclusión

Killall puede no ser un juego de ni√Īos para los novatos, pero tampoco es muy complejo. Debe practicar las opciones de l√≠nea de comando que ofrece. Hemos discutido la mayor√≠a de ellos, por lo que este tutorial deber√≠a ser un buen punto de partida. Una vez que haya terminado con estos, puede leer m√°s sobre el comando dirigi√©ndose a su p√°gina man.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *