Armadilloフォーラム

systemdので起動したアプリケーションのprintfを標準出力に表示したい

fukasawa

2020年7月28日 17時43分

いつもお世話になっております。

> Armadillo 標準ガイド ソフトウェア開発編 8.1. 起動時にコマンドを自動実行する

にしたがって、作成したアプリケーションを自動で起動するようにしました。

しかし、アプリケーション内の`printf`関数の出力が表示されません。
Linuxにログインして、アプリケーションを呼び出した場合は表示されます。

下記質問に似ていますが、journaldのログではなく、Linuxの標準出力に表示したいです。
https://armadillo.atmark-techno.com/forum/armadillo/3083

下記記事を参考に、`StandardOutput=journal+console`オプションを追加しました。
https://stackoverflow.com/a/41558234

しかし、やはり起動時には何も標準出力に表示されません。

ただし、Linuxでログインして、`halt`コマンドを実行すると、
アプリケーションの`printf`関数の結果がまとめて表示されながら、Linuxが終了します。

コメント

at_makoto.sato

2020年7月28日 18時26分

佐藤です。

StandardOutput = syslog+console
とするとどうでしょうか。

fukasawa

2020年7月29日 9時59分

> StandardOutput = syslog+console

変更後、disable→enable→start→Linux再起動してみましたが、変化はみられません。

at_makoto.sato

2020年7月29日 10時18分

佐藤です。

StandardOutput = tty
とするとどうでしょうか。

fukasawa

2020年7月30日 15時12分

> StandardOutput = tty

標準出力に表示されるようになりました!
ありがとうございます。