Как узнать, какие параметры / аргументы программа передает при вызове других программ?

Я использую программу с именем get_iplayer, и во время работы она вызывает другие программы, такие как RMTPdump, flvstreamer и ffmpeg.

Я хотел бы узнать, какую информацию он передает в эту программу. На терминале я вижу, что им звонили и они работают, но не вижу, что им дали.

1 ответ

Решение

В Linux используйте strace войти execve() Системный вызов.

strace -f -e execve -o iplayer-trace.log get_iplayer ...

В Windows используйте Process Monitor - включите только категорию "Процессы". (Требуются права администратора.)

На BSD... изменения будут приветствоваться. Кажется, что dtrace Это обычный способ, по крайней мере, в некоторых из них:

dtrace -n 'proc:::exec-success { printf("%d %s", pid,curpsinfo->pr_psargs); }'
Другие вопросы по тегам