GNU/Linux >> Tutoriales Linux >  >> Linux

Encuentre (y elimine) procesos antiguos

Solución 1:

Puedes hacer esto con una combinación de ps, awk y kill:

ps -eo pid,etime,comm

Le brinda una salida de tres columnas, con el PID del proceso, el tiempo transcurrido desde que comenzó el proceso y el nombre del comando, sin argumentos. El tiempo transcurrido se parece a uno de estos:

mm:ss
hh:mm:ss
d-hh:mm:ss

Dado que desea procesos que se han estado ejecutando durante más de una semana, buscará líneas que coincidan con ese tercer patrón. Puede usar awk para filtrar los procesos por tiempo de ejecución y por nombre de comando, así:

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }'

que imprimirá los pid de todos los comandos que coincidan con 'mycommand' que se hayan estado ejecutando durante más de 7 días. Pasa esa lista a kill y listo:

ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }' | kill -9

Solución 2:

killall --quiet --older-than 1w process_name


Linux
  1. Cómo encontrar y matar el proceso Zombie en Linux

  2. ¿Encontrar patrón y mover?

  3. Encuentre los 10 principales procesos en ejecución por memoria y uso de CPU

  4. Buscar y copiar archivos

  5. La mejor manera de matar los procesos de estado Zombie y D en Linux

Cómo encontrar y matar Procesos Zombie en CentOS 8

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Cómo encontrar el ID de proceso de un programa y eliminarlo [Consejo rápido]

Cómo encontrar los principales procesos en ejecución por memoria y uso de CPU en Linux

Master Linux Kill Process usando ps, pgrep, pkill y más

Cómo matar procesos en Linux usando kill, killall y pkill