Sé que con ps
puedo ver la lista o el árbol de los procesos actuales que se ejecutan en el sistema. Pero lo que quiero lograr es "seguir" los nuevos procesos que se crean al usar la computadora.
Como analogía, cuando usa tail -f
para seguir los nuevos contenidos agregados a un archivo o cualquier entrada, quiero mantener una lista de seguimiento del proceso que se está creando actualmente.
¿Es esto posible?
bpfcc-tools
.La forma más fácil es habilitar la auditoría de llamadas del sistema
Vea el siguiente enlace para más detalles,
¿Alguien sabe una manera simple de controlar el engendro del proceso raíz | Falla del servidor
Si está monitoreando todos los procesos, simplemente elimine la
-F uid=0
piezaLos registros se escriben en
/var/log/audit/audit.log
fuente
CONFIG_PROC_EVENTS=y
Sesión de muestra:
CONFIG_PROC_EVENTS
expone los eventos a userland a través de un socket de enlace de red .proc_events.c
GitHub upsatream , código adaptado de: https://bewareofgeek.livejournal.com/2945.html
Sin embargo, no creo que pueda obtener datos de proceso como UID y argumentos de proceso porque
exec_proc_event
contiene muy pocos datos: https://github.com/torvalds/linux/blob/v4.16/include/uapi/linux/cn_proc .h # L80 Podríamos intentar leerlo de inmediato/proc
, pero existe el riesgo de que el proceso finalice y otro tome su PID, por lo que no sería confiable.Probado en Ubuntu 17.10, que se ha
CONFIG_PROC_EVENTS=y
habilitado de forma predeterminada.fuente
Aparentemente puedes seguir un proceso usando
strace
. Si conoce el PID del proceso, puede hacer lo siguiente:Observe el
-f
cambio. Le ayudará a seguir los procesos recién creados que son descendientes del proceso cuyo PID se utilizó en el comando anterior. Para obtener información sobre strace, consulte esta pregunta.fuente
Puede usar
forkstat
como se indica aquí: https://stackoverflow.com/a/40532202/781153Instalar con:
apt-get install forkstat
Y solo corre:
forkstat
fuente