Я могу отправить ouput журнала к команде как аргумент опции в системном-журнале-ng?

Можно передать --verbose на командной строке ядра (замена quiet splash) сделать выскочку более подробной. Посмотрите, что Выскочка отлаживает.

Можно поместить console output в глобальном конфигурационном файле /etc/init.conf так, чтобы каждое задание имело свой stdout и stderr, подключенный к консоли (по умолчанию, они подключены с /dev/null). (Я не уверен, работает ли это на самом деле; /etc/init.conf на самом деле не документируется, я не протестировал, если это читается таким образом, и этот поток не окончателен. Протестируйте и сообщите.) Эта директива может войти в описания отдельных заданий (/etc/init/*.conf) если Вы хотите быть выборочными (у некоторых уже есть он).

3
20.05.2011, 21:37
2 ответа

Для большинства команд должна будет быть записана обертка, потому что Системный-журнал-ng только выполнит команду, когда это запустится. Это означает, что команда должна эффективно быть демоном сама всегда принятие входа от stdin.

Это просто хотя...

#!/bin/dash

while read line
do
    /execute/my/app $line
done

к сожалению, этот сценарий не работает на меня, вероятно, потому что он не знает который дисплей использовать. Но если для Вашего сценария не нужен X-сервер затем, простой формат как это должен работать Вы.

Хотя это не путь, полезный вследствие того, что Системный-журнал-ng только запустит программу на запуске, я нашел факт этим xargs может создать позиционные параметры из интересного входа стандарта.

echo 'test' | /usr/bin/xargs -I '{}' /usr/bin/kdialog --passivepopup '{}' 2
0
27.01.2020, 21:46

Если я понимаю Вас правильно и если это находится на Linux, можно попытаться использовать

/proc/self/fd/0

как аргумент. Это должно быть символьной ссылкой на стандартный вход процесса. Эквивалентно, в некоторых системах, Вы могли использовать

/dev/stdin

который является часто просто символьной ссылкой на /proc/self/fd/0. У меня нет системы с системным-журналом-ng для тестирования этого на, но я думаю, что что-то как следующее должно работать:

destination knotifier { program('/path/to/executable -i /proc/self/fd/0'); };

где-i заменили бы любой переключатель командной строки исполняемые потребности если таковые имеются. Я также видел используемый/dev/fd/0, но я склонен придерживаться использования/proc непосредственно. Поскольку больше информации видит man proc.

0
27.01.2020, 21:46
  • 1
    это является потрясающим, к сожалению, я не думаю приложение (kdialog) то, что я использую (который я не думаю, имело бы значение), вход поддержек из файла. –  xenoterracide 04.09.2010, 22:47
  • 2
    Возможно, попробуйте что-то как kdialog кошка/proc/self/fd/0''? –  Steven D 05.09.2010, 00:05

Теги

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