¿Verificar si se ejecutó un programa/script al inicio?

¿Verificar si se ejecutó un programa/script al inicio?

En Linux, hay muchos archivos que podemos modificar para agregar un programa que se ejecuta al inicio (/etc/rc.local, bashrc, bash_profile, $HOME/.config/autostart, ...). Ahora tengo una pregunta inversa: tengo un programa, ¿puedo verificar si este programa se ejecutó durante el inicio?

**Nota: El programa se puede ejecutar una vez al inicio y al salir.

Respuesta1

Puedes mirar eltiempo de accesopara el guión. Esto no es 100% confiable (ya que algunos sistemas de archivos pueden haberse noatimeconfigurado). Pero suele ser útil para scripts de inicio, por ejemplo,

find /etc -type f -atime -1

Lo he encontrado útil paraun buen rato.

Respuesta2

pstreele brindará un resultado detallado del proceso que se ejecuta en formato de árbol.

Salida de muestra aquí

init─┬─auditd───{auditd} ├─crond ├─docker─┬─10*[bash] │ ├─docker───5*[{docker}] │ ├─docker───4*[{docker}] │ ├─2*[docker───3*[{docker}]] │ ├─start-app.sh─┬─java───40*[{java}] │ │ └─tail │ ├─start-app.sh─┬─java───81*[{java}] │ │ └─tail

Respuesta3

Puedes ejecutar el siguiente comando:

ps aux | grep PROCESS_NAME

Por ejemplo para un pingproceso, el resultado será:

user  9639  0.0  0.0   6508   732 pts/16   S+   08:44   0:00 ping 192.168.0.1
user  9641  0.0  0.1  12972  2420 pts/15   R+   08:44   0:00 grep --colour=auto ping

Si solo obtienes la segunda línea, significa que el proceso no se está ejecutando.

Si sospecha que el proceso falla, puede usar atop, puede encontrar otra pregunta sobreatop aquí.

Respuesta4

Miraría las ubicaciones de inicio y vería si el programa está configurado allí para ejecutarse.

Honestamente, si el programa de alguna manerapodríaejecutar, pero no sabe si se ejecutó o no, la única posibilidad de ver si se ejecutó es verificar si tenía una forma de ejecutarse (por ejemplo, estaba registrado en alguno local.rco algo así), o verificando los resultados ( por ejemplo, el programa siempre toca el archivo /home/someuser/ay nada más debería haberlo tocado).

Lo anterior supone que no tiene ningún registro.

información relacionada