アカウント名:
パスワード:
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
シェルのパイプと同じものはpipe(2) [linuxjm.osdn.jp]で作れて、pipe(7) [linuxjm.osdn.jp]によれば、パイプと名前付きパイプで入出力動作は同じものと書かれている。
Windowsのcmd.exeのパイプは、CreatePipe関数で作る匿名パイプだろう。Windowsのも名前付きパイプとの違いはない。Anonymous Pipe Operations [microsoft.com]に匿名パイプとはユニークな名前の名前付きパイプで実装されていると書かれている。
さて、前半の問いにはこれで回答できたと思うけど、後半の問い(WindowsとUnix)の違いはなんだろう?違いが現れる例を逆に教えてほしい。もちろん、散々指摘されているように、cmd.exeはちゃんとパイプの両側のプロセスが同時に動くからね、それ以外で頼む。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
シェルのパイプってなにものなの (スコア:0)
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
Re:シェルのパイプってなにものなの (スコア:1)
シェルのパイプと同じものはpipe(2) [linuxjm.osdn.jp]で作れて、pipe(7) [linuxjm.osdn.jp]によれば、パイプと名前付きパイプで入出力動作は同じものと書かれている。
Windowsのcmd.exeのパイプは、CreatePipe関数で作る匿名パイプだろう。Windowsのも名前付きパイプとの違いはない。Anonymous Pipe Operations [microsoft.com]に匿名パイプとはユニークな名前の名前付きパイプで実装されていると書かれている。
さて、前半の問いにはこれで回答できたと思うけど、後半の問い(WindowsとUnix)の違いはなんだろう?違いが現れる例を逆に教えてほしい。もちろん、散々指摘されているように、cmd.exeはちゃんとパイプの両側のプロセスが同時に動くからね、それ以外で頼む。