6
每個進程都有自己的stdin,stdout和stderr嗎?或者他們只共享1個stdin,1個stdout和1個stderr嗎?我的意思是,當然每臺電腦通常有1個鍵盤和1個終端,但是輸入流是輸入流的輸入&?每個進程都有自己的stdin,stdout和stderr嗎?
每個進程都有自己的stdin,stdout和stderr嗎?或者他們只共享1個stdin,1個stdout和1個stderr嗎?我的意思是,當然每臺電腦通常有1個鍵盤和1個終端,但是輸入流是輸入流的輸入&?每個進程都有自己的stdin,stdout和stderr嗎?
stdout
,stdin
和stderr
只是操作環境提供給過程的與其輸入和輸出交互的抽象。儘管只有一個鍵盤(無論如何大多數情況下),操作系統知道如何確定哪個進程獲得當前輸入,並將鍵擊傳遞給該進程的stdin
。同樣,儘管只有一個屏幕,它可能會分成幾個窗口。最後,許多進程將其輸入和輸出與文件流綁定在一起。操作系統可以讓您將多個進程綁定到單個輸入或單個輸出文件,但即使在這種情況下,流程中代表stdin
和stdout
流的對象也將分開:它們將引用操作系統中的同一對象,並且操作系統將管理在其用戶之間共享該對象。