TRUSS(1) FreeBSD General Commands Manual TRUSS(1) NAME truss — отследить системные вызовы SYNOPSIS truss [−faedDS] [−o file] [−s strsize] −p pid truss [−faedDS] [−o file] [−s strsize] command [args] DESCRIPTION Утилита truss отслеживает системные вызовы, производимые указанным процессом или программой. Вывод идёт в указанный выходной файл или в стандартный диагностический вывод по умолчанию. Отслеживание производится остановкой и перезапуском отслиживаемого процесса через procfs(5). Имеются следующие опции: -f Отслеживать потомков начального отслеживаемого процесса, созданных с помощью fork(2), vfork(2), etc. -a Показывать строки аргументов, передаваемые в каждом системном вызове execve(2). -e Показывать строки окружения, передаваемые в каждом системном вызове execve(2). -d Включить в вывод метки времени, прошедшего с начала отслеживания. -D Включить в вывод метки времени, прошедшего с последнего зафиксированного события. -S Не выводить информацию о сигналах, полученных процессом. (Обычно truss выводит как системные вызовы, так и сигналы.) -o файл Писать вывод в указанный файл вместо стандартного диагностического вывода. -s strsize Выводить строки, используя максимум strsize символов. Если буфер окажется больше, в конце строки выведется “...”. По умолчанию strsize равен 32. -p pid Отслеживать процесс с указанным номером вместо новой команды. команда [аргументы] Выполнить команду и отслеживать её системные вызовы. (Опции -p и команда взаимно исключительны.) EXAMPLES # Отследить системные вызовы используемые при выводе "hello" $ truss /bin/echo hello # То же самое, но направить вывод в файл $ truss ‐o /tmp/truss.out /bin/echo hello # Отследить уже запущенный процесс $ truss ‐p 1 SEE ALSO kdump(1), ktrace(1), procfs(5), procctl(8) HISTORY Команду truss написал Sean Eric Fagan для FreeBSD. Она была смоделирована по похожим командам в System V Release 4 и SunOS. FreeBSD 7.0 January 2, 2004 FreeBSD 7.0