看板 PangSir 關於我們 聯絡資訊
※ 引述《wrangle1005 (Hogan)》之銘言: : ※ 引述《ckmShih (林檎技客 Ringo Geek)》之銘言: : : 有可能 : : 必須三行都處理 : : 例如 : : % cat text1.txt |3 : : % cat text2.txt |2 : : % cat text3.txt |1 : : % grep 'body' : : 則在第四行 Server 必須回傳等同以下指令之結果 : : cat text1.txt | grep 'body' : : cat text2.txt | grep 'body' : : cat text3.txt | grep 'body' : 所以client收到結果的時候有可能不保證順序性? : 畢竟shell command可能會有自己速度上的差異? 順序要保證 First In, First Out 也就是 cat text1.txt | grep 'body' cat text2.txt | grep 'body' cat text3.txt | grep 'body' 順序不能顛倒或亂序 : : 不可以 : : exec 只能用來執行指令 (ls, grep, etc.) : 問題已經解決,是我自己沒寫好所導致的 : : 其他檔案是fork時候會使用到的?是指 tmpfile 嗎? : : 請注意 pipe (|) 是不能用 tmpfile 實作的 : : 測試時初始環境只會有指令執行檔跟測試用文字檔 : : 例如 : : bin/ : : | ls : : | grep : : | cat : : test.txt : 抱歉,我當時問問題的時候腦筋不太清楚,問得不夠明確 : 這裡我指的是我用來處理client指令的handler : 我覺得用一隻server程式處理完所有的指令和重導向聽起來不甚合理 : 所以我會使用server,fork出handler來進行後面的操作處理 : 我預期server和handler會在同一目錄底下,並且都接受PATH這個參數 server 跟 fork 出來之 handler 的工作目錄理論上會是同一個 PATH 的部分也是一樣的 這個是你自己程式可以控制的 : : 就如字面上所述 : : 所有屬於 C++ STL 的組件都不能使用 : 我可以請問一下這個要求的原因嗎? : 我覺得使用string, vector等工具並不會影響這次作業的公平性以及主旨 : 不能使用工具會大幅度拖慢開發速度.. 應該是說這次作業基本上以 C 語言為主 我們開放使用 C++ 的基本語法方便慣用物件導向的同學使用 但 STL 的部份還是恕不能使用 : 另外,想再請問一下,應該不會有"grep s", "cat -n",這種無限等待input的測資吧? 不會出現無限等待 client input 測資 也就是可能會有 %cat "test.txt" | grep s 但不會單獨只有 %grep s : 謝謝! TA -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.128