Как я контролирую открытые файлы процесса в в реальном времени?

Вы могли передать потоком файл журнала, работающий меньше и нажатие SHIFT + F, который передаст файл потоком с помощью меньше. $ less mylogfile.txt Затем просто нажмите SHIFT + F, и он передаст потоком. Я думаю, что это удобно для контроля файлов журнала то обновление.

43
13.04.2017, 15:13
1 ответ

Выполнение его с

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
52
27.01.2020, 19:34
  • 1
    Это входит в правильное направление, Спасибо! хотел бы более удобный для пользователя вывод, но оно делает задание. Я мог бы не торопиться для записи инструмента с более подобным вершине интерфейсом для этого. Я надеялся, что находящийся в ncurses или 'лучший подобный ' инструмент будет существовать для осмотра действий двоичного файла, в реальном времени. –  gertvdijk 19.12.2012, 16:43
  • 2
    Как хотели бы Вы это смотреть? Это, вероятно, возможно к munge вывод strace во что-то более дружественное. –  Useless 19.12.2012, 16:44
  • 3
    Вы определенно хотите использовать -o продвигать вывод в файл (файлы). Затем можно работать tail -F strace.output в другом терминале для получения "живого" обновления. –  peterph 19.12.2012, 16:50
  • 4
    Можно также присоединить strace к рабочему процессу с -p PID опция. –  Frank Breitling 18.03.2017, 20:44

Теги

Похожие вопросы