GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿registro de subprocesos anteriores que ahora están cerrados?

A veces, tengo un proceso Java malicioso que ocupa el 100 % de mi CPU y hace que su temperatura suba unos 30 °C (lo que suele provocar un bloqueo si no se elimina).

El problema es que nunca puedo identificarlo realmente (tiene una larga lista de parámetros y demás) o analizarlo porque tengo que matarlo muy rápido.

¿Hay algún tipo de registro que pueda consultar para ver la identidad de los procesos anteriores que he eliminado? Si no es así, ¿hay alguna forma de que pueda captar ese proceso la próxima vez que aparezca?

Si importa, soy OpenSuse 11.4.

Respuesta aceptada:

No, no por defecto. Existe el registro excesivo (especialmente cuando comienza a arriesgarse a registrar la acción de escribir una entrada de registro...).

Contabilidad de procesos BSD (si lo tiene, ejecute lastcomm ), si está activo, registra el nombre de cada comando que se ejecuta y algunas estadísticas básicas, pero no los argumentos.

El subsistema de auditoría es más general y más flexible. Instale la audit paquete y lea la guía de auditoría de SuSE (principalmente la parte sobre reglas), o pruebe

auditctl -A exit,always -F path=/usr/bin/java -S execve

O:en lugar de matarlo, kill -STOP eso. El STOP suspende el proceso, sin preguntas. Tienes la opción de reanudar (kill -CONT ) o terminar (kill -KILL ) luego. Siempre que el proceso siga existiendo, puede inspeccionar su línea de comando (/proc/12345/cmdline ), su mapa de memoria (/proc/12345/maps ) y así sucesivamente.

O:adjuntar un depurador al proceso y pausarlo. Es tan simple como gdb --pid 12345 (puede haber mejores opciones para un proceso Java); adjuntar un depurador detiene inmediatamente el proceso (si sale del depurador, el proceso recibe un SIGCONT y se reanuda).

Tenga en cuenta que todo esto solo captura procesos a nivel del sistema operativo, no subprocesos JVM. Debe recurrir a las funciones de JVM para depurar subprocesos.


Linux
  1. 20 archivos de registro de Linux que se encuentran en el directorio /var/log

  2. Ejemplos de comandos kill en Linux

  3. script de linux para matar el proceso java

  4. Cómo pausar/reanudar un proceso en Linux

  5. Cómo detener manualmente un script de Python que se ejecuta continuamente en Linux

¿Cómo matar un proceso en Linux? Comandos para Terminar

Cómo matar un proceso en Linux

Comando matar en Linux

Cómo matar procesos Zombie en Linux

5 formas rápidas de matar un proceso en Linux

Cómo MATAR un proceso en Linux