Закрытие inifinite во время процесса сгенерированной трубы с использованием feedgnuplot - PullRequest
0 голосов
/ 08 ноября 2019

Я использую feedgnuplot, чтобы построить некоторые данные Android LogCat, как описано в справочных страницах feedgnuplot, и он отображает все как положено, но даже после прочтения раздела --exit на страницах man, я не могу понять, каквыйти из окна графика без выключения источника данных или других хакерских обходных путей.

Причина, по которой я не могу использовать типичную команду выхода control + c, заключается в том, что feedgnuplot, похоже, создает новое окно с каждым циклом, содержащим новые данные (обратите внимание, что это порядка миллисекунд), а мой оконный менеджервсегда смещая фокус на это «новое» окно, поэтому я даже не могу вернуться к терминалу, который инициализировал окно графика, чтобы ввести команду control + c. Обратите внимание, что это поведение также не позволяет мне просто принудительно закрывать само окно графика, так как оно будет просто перегенерировано в следующем цикле.

Я могу удерживать Ctrl + C и щелкать мышью по окну терминала неистово, пока не произойдет скольжение между циклами миллисекунд, или я могу отключить источник данных, тогда окно feedgnuplot больше не обновляется, и диспетчер окон больше не вызываетсфокусируйтесь там, чтобы я мог вернуться к терминалу и нажать + c, чтобы закрыть окно графика.

Поскольку я часто хочу открывать несколько графиков на основе данных, которые я вижу, я не хочу каждый раз закрывать свой источник данных, поэтому я надеюсь, что кто-то может подсказать мне, как я могу предотвратить этоОкно feedgnuplot от кражи фокуса каждые несколько миллисекунд без:

  • Замедление скорости обновления данных (важны обновления в миллисекундах)
  • Отключение источника данных

Код, который я использую для создания графика, выглядит следующим образом:

{
adb logcat -c
while true; do
        sleep 1;
        adb logcat -v raw $logcatTag *:S;
        test $? -gt 128 && break
done
} | feedgnuplot --lines --stream $updateTime --exit

Все переменные bash являются стандартными строками, которые я устанавливаю через CLI.

Я добавил строку test $?... после прочтения этого , но безрезультатно.

...