Logs

是否有任何日誌文件可供我檢查何時打開一個特定的應用程序?

  • June 20, 2021

我想創建一個腳本來檢測系統上首次打開 Firefox 的時間……我考慮過使用tail尾隨日誌文件,如下所示:

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

該命令grep -m1會在 Firefox 出現時停止管道並轉到下一行/path/logfile。為此,我必須查看包含此類資訊的日誌文件……系統上正在打開的應用程序的資訊。有這樣的日誌文件嗎?

不,沒有包含此類資訊的日誌文件。

您可以使用 eBPF或其他調試工具讓您的核心在exec///呼叫特定執行檔時通知您execve。您需要使用 eBPF 來檢查 firefox,而不是. (感覺有點像你找到了一個你沒有的問題的解決方案:))fexecve``execl, execlp, execle, execv, execvp, execvpe``grep

但是,您可以相當簡單地使用 查詢目前正在執行的程序ps,並且由於 firefox 會話可能持續時間超過 2 秒,因此檢查ps -A每秒的輸出就足夠了,並且不會給您的系統帶來任何重大負載。你可以用 grep 來滿足你的需求——但是,我建議使用.pgrep而不是ps -A|grep.

引用自:https://unix.stackexchange.com/questions/655066