Verifique se um programa/script foi executado na inicialização?

Verifique se um programa/script foi executado na inicialização?

No Linux, existem muitos arquivos que podemos modificar para adicionar um programa executado na inicialização (/etc/rc.local, bashrc, bash_profile, $HOME/.config/autostart, ...)? Agora tenho uma pergunta inversa: tenho um programa, posso verificar se esse programa foi executado durante a inicialização?

**Nota: O programa pode ser executado uma vez na inicialização e na saída

Responder1

Você pode olhar para otempo de acessopara o roteiro. Isso não é 100% confiável (já que alguns sistemas de arquivos podem ter sido noatimeconfigurados). Mas geralmente é útil para scripts de inicialização, por exemplo,

find /etc -type f -atime -1

Eu achei útil paraum bom tempo.

Responder2

pstreefornecerá uma saída detalhada do processo em execução em formato de árvore.

Exemplo de saída aqui

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

Responder3

Você pode executar o próximo comando:

ps aux | grep PROCESS_NAME

Por exemplo, para um pingprocesso, o 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

Se você obtiver apenas a segunda linha, significa que o processo não está em execução.

Se você suspeitar que o processo está travando, você pode usar atop, você pode encontrar outra pergunta sobreatop aqui.

Responder4

Eu examinaria os locais de inicialização e veria se o programa está configurado para ser executado.

Honestamente, se o programa de alguma formapoderiaexecutado, mas você não sabe se ele foi executado ou não, a única chance de ver se ele foi executado é verificar se ele tinha uma maneira de ser executado (por exemplo, foi registrado em algum local.rcou tal) ou verificando os resultados ( por exemplo, o programa sempre toca em file /home/someuser/ae nada mais deveria ter tocado nele).

O texto acima pressupõe que você não tenha nenhum registro.

informação relacionada