Как определить исходный процесс журнала, порожденный от systemd сервиса?

От раздела, наделенного правом "Расширение Пути" в man bash:

Имена файлов ''.'' и ''..'' всегда игнорируются, когда GLOBIGNORE установлен и не пустой.

2
23.09.2017, 23:11
1 ответ

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

Такая обертка уже существует и называется SystemD-Cat .

Вы можете использовать это следующим образом:

systemd-cat -t app1 /home/myself/logtest/app1 &
systemd-cat -t app2 /home/myself/logtest/app2 &

Аргумент

systemd-cat -t app1 /home/myself/logtest/app1 &
systemd-cat -t app2 /home/myself/logtest/app2 &

Аргумент -T - это произвольная строка идентификации, аналогичная (эквивалентная) к идентификатору системного журнала.

Также можно использовать SystemD-Cat в конвейере оболочки, как это:

/home/myself/logtest/app1 |& systemd-cat -t app1 &

( | & - это конструкция Bash для трубопровода как Stdout, так и STDERR.)

Однако первая форма предпочтительна, поскольку она позволяет избежать нереста дополнительного процесса и выполнять дополнительную копию всех зарегистрированных данных.

4
27.01.2020, 22:00

Теги

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