Вы могли передать потоком файл журнала, работающий меньше и нажатие SHIFT + F, который передаст файл потоком с помощью меньше. $ less mylogfile.txt
Затем просто нажмите SHIFT + F, и он передаст потоком. Я думаю, что это удобно для контроля файлов журнала то обновление.
Выполнение его с
strace -e trace=open,close,read,write,connect,accept your-command-here
вероятно, было бы достаточно.
Необходимо будет использовать -o
опция поместить вывод strace где-нибудь кроме консоли, если процесс может распечатать к stderr. Если Ваши ветвления процесса, Вам также будет нужно -f
или -ff
.
О, и Вы могли бы хотеть -t
также, таким образом, Вы видите, когда вызовы произошли.
Отметьте, Вы, возможно, должны настроить список вызова функции в зависимости от того, что делает Ваш процесс - я должен был добавить getdents
например, для получения лучшего демонстрационного использования ls
:
$ strace -t -e trace=open,close,read,getdents,write,connect,accept ls >/dev/null
...
09:34:48 open("/etc/ld.so.cache", O_RDONLY) = 3
09:34:48 close(3) = 0
09:34:48 open("/lib64/libselinux.so.1", O_RDONLY) = 3
09:34:48 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@V\0\0\0\0\0\0"..., 832) = 832
09:34:48 close(3) = 0
...
09:34:48 open("/proc/filesystems", O_RDONLY) = 3
09:34:48 read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tb"..., 1024) = 366
09:34:48 read(3, "", 1024) = 0
09:34:48 close(3) = 0
09:34:48 open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
09:34:48 close(3) = 0
09:34:48 open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
09:34:48 getdents(3, /* 5 entries */, 32768) = 144
09:34:48 getdents(3, /* 0 entries */, 32768) = 0
09:34:48 close(3) = 0
09:34:48 write(1, "file-A\nfile-B\nfile-C\n", 21) = 21
09:34:48 close(1) = 0
09:34:48 close(2) = 0
-o
продвигать вывод в файл (файлы). Затем можно работатьtail -F strace.output
в другом терминале для получения "живого" обновления. – peterph 19.12.2012, 16:50strace
к рабочему процессу с-p PID
опция. – Frank Breitling 18.03.2017, 20:44