[Armadillo:06411] Re: Armadillo-440:コマンドプロンプトへの文字列表示
Yasushi SHOJI
email@hidden
2010年 12月 24日 (金) 12:33:07 JST
At Fri, 24 Dec 2010 12:03:28 +0900,
Shin-ya Koga wrote:
>
> 高野さん([Armadillo:06408]):
> >Armadillo-440を使用しております。
> >簡単なアプリを作成し自動起動させた場合において、
> >そのアプリからデバグ用としてコマンドプロンプトへ
> >文字列を表示させる方法を教えてください。
>
> これは、Linux 一般の話になると思いますが、syslog() をお使いに
> なるのが良いと思います:
> http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/syslog.3.html
> http://archive.linux.or.jp/JM/html/sysklogd/man8/syslogd.8.html
手軽に shell script からやるなら logger というツールもあります。
> >プロンプトから起動させたアプリについては、printfによる表示は可能なのです
> >が・・・。
> >自動起動アプリとプロンプトからの起動アプリでは、printfへの制約があるので
> >しょうか。
>
> 「自動起動」が、具体的に何を指しているのか分からないのですが、
> コンソールから起動しない場合、そのアプリケーション(プロセス)
> の標準出力がコンソールに結び付けられませんので、printf() の
> 出力が表示されない、ということだと思います。
この辺が、iTRON などと違って面倒ですよね。分っている人には「どうせ、シ
リアルじゃん」みたいな。まぁ、multi user multi process のOSとしては他の
人のリソースを勝手に使わせるわけにはいかないので、あたりまえなんですが。
で、syslog を経由すると出てくるのは /dev/console に書き出しているから
なので、もしかすると
echo hello > /dev/console
とすると出るかもしれません。基本的に root の権限が必要です。
/dev/console は /usr/include/paths.h で _PATH_CONSOLE と定義されている
ので、これを使うと良いです。
--
yashi
armadillo メーリングリストの案内