Existe alguma maneira de descobrir se / quando um executável foi chamado?

2

Estou tentando descobrir se o AUCTeX está realmente chamando dvipng quando renderiza as visualizações do LaTeX. Embora isso não seja a melhor maneira de descobrir isso, uma possibilidade é verificar se o executável dvipng está sendo chamado - nada mais no sistema seria usá-lo. A saída de compilação não menciona dvipng e top não mostra a execução.

Para usuários que não são do emacs, o AUCTeX é um pacote do emacs que é executado dentro do emacs e pode chamar executáveis externos, por exemplo, dvipng .

Então, minha pergunta é: para um executável arbitrário, existe alguma maneira de verificar se, e quando, ele foi executado no passado recente? Mais informações, como os argumentos que foram chamados, também seriam úteis.

Eu tentei ver se o processo do emacs chamava dvipng usando strace (não sei se fiz isso corretamente) fazendo

$ strace emacs corrmodel.tex 2>&1 | grep dvipng

e, em seguida, executando uma compilação, mas eu só tenho a saída

read(15, "falias 'preview-start-dvipng #[n"..., 4096) = 4096

Este é um procedimento correto? Existe uma maneira melhor?

    
por Faheem Mitha 30.06.2013 / 22:44

2 respostas

2

Se você usar ls -lut /usr/bin/dvipng , ele informará a hora do último uso. Não será uma solução simples?

    
por 01.07.2013 / 01:00
1

O jeito que eu costumo fazer isso - rápido e sujo - é renomear /usr/bin/dvipng para /usr/bin/dvipng.bin e então criar um script simples chamado /usr/bin/dvipng assim:

#!/bin/sh
echo "$*" > /tmp/dvipng-$$.log
exec /usr/bin/dvipng "$@"

Torne-o executável com chmod +x /usr/bin/dvipng e execute o que você deseja executar. Em seguida, verifique se /tmp/dvipng-*.log existe e se o conteúdo deve ser a lista de argumentos.

    
por 01.07.2013 / 00:03