특정 애플리케이션을 열 때 확인할 수 있는 로그 파일이 있습니까?

특정 애플리케이션을 열 때 확인할 수 있는 로그 파일이 있습니까?

시스템에서 Firefox가 처음으로 열릴 때를 감지하는 스크립트를 만들고 싶습니다... tail다음과 같은 테일 로그 파일을 사용할 생각입니다.

tail -f '/path/logfile' | grep -m1 "Firefox"

grep -m1Firefox라는 단어가 표시되자마자 명령은 파이프라인을 중지하고 다음 줄로 이동합니다 /path/logfile. 이를 달성하려면 다음과 같은 정보가 포함된 로그 파일을 살펴봐야 합니다. 시스템에 열려 있는 응용 프로그램에 대한 정보입니다. 그런 로그 파일이 있나요?

답변1

아니요, 해당 정보가 포함된 로그 파일이 없습니다.

eBPF 또는 기타 디버깅 도구를 사용하여 exec특정 실행 파일이 호출될 때 커널에 알리도록 요청할 수 있습니다. 대신 eBPF를 사용하여 Firefox를 확인해야 합니다. (당신이 갖고 있지 않은 문제에 대한 해결책을 찾은 것 같은 느낌이 듭니다 :))execvefexecveexecl, execlp, execle, execv, execvp, execvpegrep

그러나 다음을 사용하여 현재 실행 중인 프로그램을 ps간단히 쿼리할 수 있습니다. ps -A원하는 만큼 grep을 사용할 수 있습니다. 그러나 pgrep대신 grep을 사용하는 것이 좋습니다 ps -A|grep.

관련 정보