我想创建一个脚本来检测 Firefox 何时在系统上首次打开...我考虑使用tail
尾部日志文件,如下所示:
tail -f '/path/logfile' | grep -m1 "Firefox"
grep -m1
一旦 Firefox 一词出现,该命令就会停止管道并转到下一行/path/logfile
。为了实现这一点,我必须查看包含此类信息的日志文件...系统上正在打开的应用程序的信息。有这样的日志文件吗?
答案1
不,没有包含此类信息的日志文件。
您可以使用 eBPF 或其他调试工具要求exec
内核在调用特定可执行文件时通知您。您需要使用 eBPF 对 Firefox 进行检查,而不是. (感觉有点像你找到了一个你没有的问题的解决方案:))execve
fexecve
execl, execlp, execle, execv, execvp, execvpe
grep
但是,您可以使用 来简单地查询当前正在运行的程序,并且由于 Firefox 会话可能持续超过 2 秒,因此每秒ps
检查一次输出就足够了,并且不会给您的系统带来任何重大负载。ps -A
您可以尽情享受 grep - 不过,我建议使用pgrep
代替ps -A|grep
。