我正在學習系統類中的管道和外殼。我在搞strace
。我正在運行一個名爲dpipe
的程序。Pipe()系統調用
在strace
日誌,我看到以下內容:
pipe([3, 4])
pipe([5, 6])
什麼這些整數代表什麼?我在那個管道下基本上用shell來將一個命令的輸出路由到另一個命令的輸入,使用|
。所以它只是讓我們的生活更輕鬆。在這種情況下,那裏的數字數組代表什麼?此外,如果piping
僅用於shell,爲什麼會有C系統調用?這是完全爲那些想要編寫自己的shell(爲了讓自己的生活更輕鬆)而製作的嗎?
即使不支持管道系統調用或多任務,也可以實現管道式語義。 DOS command.com通過在啓動第二個命令之前將一個命令的輸出重定向到一個文件來完成它。 (這當然有影響和某些限制..) – 2012-02-21 03:26:25