パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Windows 10 Insider Preview、AF_UNIXソケットによるWSLアプリとWin32アプリの相互通信が可能に」記事へのコメント

  • あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう

    • by Anonymous Coward on 2018年02月12日 10時10分 (#3360095)
      Windowsのは一時ファイルをつくっているような動作で前のものが完了しないと次に進まないんだが、シェルのパイプは前のコマンドが完了せずに動作できるものは実行するんだよな
      親コメント
      • by Anonymous Coward on 2018年02月12日 13時38分 (#3360148)

        「Windowsの」がWindowsのコマンドプロンプトのことなら、昔はMS-DOS時代のしがらみで一時ファイル作って逐次実行してたけど、NT系のcmd.exeは同時実行するよ。
        ping -t localhost | findstr ms とか実行してみれば確認できるはず。

        親コメント
      • by Anonymous Coward

        Windows の名前付きパイプってそんなに不便なものなの?
        UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、

        mkfifo tmp
        gzip -dc b.gz > tmp &
        gzip -dc a.gz | diff - tmp > result

        てなことをして、でっかい一時ファイルを作らずに済ませたものだ。

        • by Anonymous Coward

          シェルのパイプは「一時ファイルをつくっているような動作で前のものが完了しないと次に進まない」だけど
          Windows の名前付きパイプは全くの別物だ。

          シェルは動作の互換性で旧来の方式を使ってるだけかと。

        • by Anonymous Coward

          その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。

          diff <(gzip -dc a.gz) <(gzip -dc b.gz) > result

      • Re: (スコア:0, フレームのもと)

        by Anonymous Coward

        >一時ファイルをつくっているような動作で前のものが完了しないと次に進まない
        そんなうんこな実装してんのMS-DOSとWindows 9xだけですが
        老害の知識で語るなよ

      • by Anonymous Coward

        MS-DOS時代から頭の中身がまったく進歩していない老害の見本

最初のバージョンは常に打ち捨てられる。

処理中...