あるプログラム中でprintf("teratail\n");
のように書いたとします。
このプログラムのコンパイル後のファイル名をprogramとし、そのプログラムがあるディレクトリまでcd
コマンドで移動し、./program
で実行しました。
このとき画面(ターミナル、端末、コマンドプロンプト)には「teratail」と表示されると思います。
次にこのプログラムをサービスやデーモンなどのように起動させておくとします。
このとき、端末を開いてる時にそのプログラムがprintf
するタイミングになっても画面に文字列teratail
が現れたりすることはありませんよね?
わたしの印象では直接実行、つまり./program
のように端末から能動的に実行したもの以外printf
などの出力は見られないと思うのですが、プログラムが実行したprintf("teratail\n");
の出力はどこにいくのでしょうか?
「標準入力・標準出力」などは1つだけしかないと思っていたのですが、プログラムごとに作られる(?)のでしょうか?
わかりにくい説明ですみません。
不明な点があったら指摘していただけるとありがたいです。
また、 もしこの出力を外部からキャッチする方法があるなら教えていただきたいです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/09 14:51