lunes, 29 de octubre de 2012

Descubrindo os arquivos que abre un programa [Twitcode XIII] [Bash]

Imáxinadevos que un programa da problemas e parece que non lé a configuración, como podemos saber onde a busca? pois lendo do que fai "open":
strace <comando> 3>&2 2>&1 1>&3 |grep ^open


Agora a explicación

O comando `strace` executa outro comando e amosa pola saída de erros as chamadas as funcións do sistema.

A secuencia `3>&2 2>&1 1>&3` intercambia as saídas estándar (que será a filtrada) e a de erros, para que o que filtremos despois sexan as chamadas.

Para rematar o comando `grep ^open` elimina as liñas que corresponden a chamadas que non sexan de apertura de arquivos.

Espero que vos resulte útil, chega a ser bastante práctico para debuggear cousas.

No hay comentarios:

Publicar un comentario