Как получить выход из выскочки заданий при входе через SSH?

Чтобы отслеживать, что делают мои определения работы, я хотел бы видеть вывод текста из работы. Это не представляется возможным, когда я вошел в систему через SSH.

У меня эта проблема с Natty 11.04, но я убежден, что это более распространенная проблема.

Я использую простой файл задания (имя файла /etc/init/test.conf):

description "test"
start on test
console owner
kill timeout 5
task
script
  /bin/echo Gotcha...
end script

Моя цель - увидеть текст «Попался ...» при выполнении initctl emit test или initctl start test. Но это не работает.

Что я пробовал до сих пор:

  • «вывод консоли» вместо «владелец консоли»
  • «exec / bin / echo Gotcha ...» вместо сценария. ..конечный скрипт
10
задан 2 November 2013 в 15:38

2 ответа

Поскольку init (pid 1) выполняет службу (у которой нет stdout / stderr), а не вашу оболочку (как в более старых сценариях в стиле /etc/init.d), в настоящее время нет способа увидеть сгенерированный вывод. (Эта функция часто запрашивается и находится в списке действий, выполняемых для Upstart.)

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

script
    exec >/var/log/test.debug 2>&1
    echo Gotcha...
end script
0
ответ дан 2 November 2013 в 15:38

Начиная с 12.04 (возможно, раньше), по умолчанию upstart регистрирует файл в / var / log / upstart / с любыми выходными данными задания

Текущая документация Upstart (в Cookbook) )

Затем вы можете выбрать этот файл, чтобы увидеть весь новый текст, который записывается в файл

Например:

tail -f /var/log/upstart/test.log & # tail the output
initctl emit test
0
ответ дан 2 November 2013 в 15:38

Другие вопросы по тегам:

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