
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 noatime
configurados). Mas geralmente é útil para scripts de inicialização, por exemplo,
find /etc -type f -atime -1
Eu achei útil paraum bom tempo.
Responder2
pstree
fornecerá 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 ping
processo, 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.rc
ou tal) ou verificando os resultados ( por exemplo, o programa sempre toca em file /home/someuser/a
e nada mais deveria ter tocado nele).
O texto acima pressupõe que você não tenha nenhum registro.