Supervisord не работает

Можно сделать это с коротким сценарием:

for FILE in *
do
  grep -q foo $FILE && grep -q 321 $FILE && echo $FILE
done

Можно также сделать это на одной строке:

for FILE in *; do grep -q foo $FILE && grep -q 321 $FILE && echo $FILE; done

grep возвраты 0 (верный), если это нашло строку и && разделение команд означает, что второй будет только работать, если первый был верен. -q опция удостоверяется это grep ничего не производит.

Эхо будет только работать, если обе строки были найдены в том же файле.


Я думал о другом способе сделать это. Таким образом, вероятно, будет более эффективным, если рассматриваемые файлы будут больше, чем Ваша установленная RAM, как это только имеет к grep через каждый файл однажды.

 for FILE in *
 do
   test $(egrep -o "foo|321" $FILE | uniq | sort | uniq | wc -l) -eq 2 && echo $FILE
 done

и короткая версия:

 for FILE in *; do test $(egrep -o "foo|321" $FILE | uniq | sort | uniq | wc -l) -eq 2 && echo $FILE; done
9
22.01.2013, 03:49
3 ответа

это была моя проблема, не уверен, что это поможет. Aparently "service supervisord start" не обязательно загружает ваш конфигурационный файл, или даже файл конфигурации вообще. Чтобы мой файл заработал, мне пришлось сделать супервизор -c /path/to/my/config.conf (т.е. запустить двоичный файл напрямую), что все исправило.

3
27.01.2020, 20:07

Я знаю, что этот вопрос довольно старый, но ради тех, кто столкнулся с этой проблемой, запуск демона супервизора работает для меня.

sudo service supervisor start

Более подробное объяснение заключается в том, что, как правило, когда вы сталкиваетесь с ошибкой «unix :///var/run/blabla.sock нет такого файла», скорее всего, проблема в том, что демон программы в теме(supervisordв этом случае )не был запущен и, следовательно, не смог сгенерировать ожидаемый файл сокета unix supervisor.sock. Этот файл является конечной точкой связи для команд переднего плана супервизора (, таких как supervisorctl), который действует как туннель/посредник, ответственный за ретрансляцию команд, выданных пользователем -, (напр.supervisorctl reread)к службе супервизора, работающей в фоновом режиме.

Вы можете обратиться к Unix Domain Socket и к этому ответу stackoverflow .

3
27.01.2020, 20:07

Недавно я столкнулся с этой проблемой и решил ее, выполнив следующие действия.

  • 1 ). Активируйте свой virtualenv
  • 2 ). Убедитесь, что супервизор установлен в вашей виртуальной среде с помощью pip
  • 3 ). запустить супервизора как суперпользователя :$ sudo su
  • 4 ). запустить :$ супервизор или $ supervisorctl start
  • Вот и все.

    0
    27.01.2020, 20:07

    Теги

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