我试图弄清楚 AUCTeXdvipng
在渲染 LaTeX 预览时是否实际上正在调用。虽然这可能不是找出这个问题的最佳方法,但一种可能是检查可执行文件是否dvipng
正在被调用 - 系统上没有其他东西会使用它。编译输出没有提及dvipng
,也top
没有显示它正在运行。
对于非 emacs 用户,AUCTeX 是一个在 emacs 内部运行的 emacs 包,可以调用外部可执行文件,即dvipng
.
所以,我的问题是:对于任意可执行文件,是否有某种方法可以检查它是否在最近运行过以及何时运行过?更多信息,比如调用它的参数,也会很有用。
我尝试查看 emacs 进程是否dvipng
通过使用调用strace
(我不知道我是否正确执行了此操作)
$ strace emacs corrmodel.tex 2>&1 | grep dvipng
然后运行编译,但我刚刚得到输出
read(15, "falias 'preview-start-dvipng #[n"..., 4096) = 4096
这是正确的程序吗?有没有更好的办法?
答案1
我通常这样做的方式 - 快速而肮脏 - 是重命名/usr/bin/dvipng
为/usr/bin/dvipng.bin
,然后创建一个简单的脚本,命名/usr/bin/dvipng
如下:
#!/bin/sh
echo "$*" > /tmp/dvipng-$$.log
exec /usr/bin/dvipng "$@"
使其可执行chmod +x /usr/bin/dvipng
并运行您想要运行的任何内容。然后检查是否/tmp/dvipng-*.log
存在,如果存在,内容应该是参数列表。
答案2
如果这样做ls -lut /usr/bin/dvipng
,它会告诉您上次使用的时间。这不是一个简单的解决方案吗?