Хорошо, потерпите меня на этом. Я использую программу под названием BFGminer, которая, надеюсь, вы знаете, является программой майнинга биткойнов. Тем не мение. Каждую секунду он обновляет несколько строк, которые выглядят так:
DEVICE 0: xxxx
DEVICE 1: xxxx
Это просто основы того, что меня беспокоит. Мне нужен способ просмотреть эти несколько строк из окна терминала, если это возможно. Единственная проблема, которая у меня есть, заключается в том, что я не могу заставить grep обновить канал, который у меня есть.
У меня есть команда, запущенная на другой машине, и на этой машине также есть экран с запущенным BFGminer.
Таким образом, чтобы получить доступ к окну BFGminer, я запускаю скрипт для
ssh user@192.1681.1.11 screen -R
Это возвращает меня к экрану, но я должен нажать ctrl kbd> + A < / kbd>, затем D kbd>, чтобы отсоединить его, чтобы он продолжал работать.
Если я запускаю
ssh user@192.1681.1.11 screen -R | grep "^ DEV"
, я могу просмотреть все подключенные устройства. Хорошо до сих пор. Тем не менее, он не обновляется каждые несколько секунд, как мне нужно ...
ИЗДАН: выяснил, что делать. Смотрите ответ.
Используйте tail
, он будет следовать за файлом по мере его роста. Вы можете передать tail
в grep
: tail changing-log-file | grep whatever-you-need
. Вы можете сделать так, чтобы BFGminer создавал лог-файл, который вы, очевидно, можете использовать с параметром -L, используйте -L /path/to/file
. Затем в вашей локальной системе вы можете сделать что-то вроде:
ssh server.com tail -f /path/to/file | grep DEVwhatever
просто Ctrl kbd> + C kbd>, когда вы хотите прекратить следить за журналом.
Счастливого майнинга!
ssh user@192.1681.1.11 ./RPC.sh
RPC.sh содержит:
cd /opt/bfgminer/
while : ; do clear && ./bfgminer-rpc && sleep 5; done;
Похоже: http://pastebin.com/wrTb18TL
Работает достаточно хорошо. У него просто нет всей информации, которая мне нужна. Позже я задам новый вопрос, пытаясь проанализировать данные, если не смогу их выяснить.
Спасибо всем за идеи:)
ОБЪЯСНЕНИЕ: оказывается, что bfgminer имеет функцию RPC (удаленный вызов процедуры). Все, что вам нужно сделать, это добавить флаг при запуске bfgminer. "--enable-api"
Я еще не понял, как привести в порядок вывод, используя grep. Но по крайней мере это будет корректно обновляться с некоторой необходимой информацией.