くだらねえ質問はここに書き込め! Part 180 at LINUX
[2ch|▼Menu]
266:login:Penguin
10/01/07 02:33:57 Nm3OilD9
>>265
シェルのリダイレクトは、実行するコマンドのプロセスのファイルディスクリプタを、
dup2 システムコールを使って、別のディスクリプタへ結びつける機能です
具体的には以下のようなコードに直接対応します

// > outfile 2>&1 の場合
int fd = open("outfile", O_WRONLY|O_CREAT|O_TRUNC, 0644); dup2(fd, STDOUT_FILENO); // > outfile
dup2(STDOUT_FILENO, STDERR_FILENO); // 2>&1

// > outfile 2> outfile の場合
int fd1 = open("outfile", O_WRONLY|O_CREAT|O_TRUNC, 0644); dup2(fd1, STDOUT_FILENO); // > outfile
int fd2 = open("outfile", O_WRONLY|O_CREAT|O_TRUNC, 0644); dup2(fd2, STDERR_FILENO); // 2> outfile

> outfile 2> outfile というのは同じ名前のファイルを独立に作って、それぞれが書き込むという意味になります
よって標準出力と標準エラーの両方を書き込むことはできません(そういう意味のコードに対応します)


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5368日前に更新/201 KB
担当:undef