我必須創建一個啓動一定數量的並行作業(另一個腳本)的腳本(ksh或perl),它們中的每一個作爲單獨會話中的前臺進程運行。另外,我開始監視作業,必須確定是否有任何腳本需要操作員輸入,並在必要時切換到相應的會話。 我的問題是,我還沒有找到一個好方法來確定該過程正在期待輸入。對於後臺進程來說非常簡單:進程狀態爲「停止」,這可以通過'ps'命令輕鬆檢查。在前臺進程的情況下,這是行不通的。 到目前爲止,我試圖用dbx或桁架來關注這個過程,看它是否掛在'讀'上,但這種方法看起來太重了。 你能提出一些更好的解決方案嗎? Perl,shell,C,Java等等,只要它是標準的,並且不需要額外安裝第三方或操作系統特定的東西。如何檢測前臺進程在UNIX中等待輸入?
謝謝。
粗略的方法是在strace&monitor下從stdin(fd == 0)讀取()來運行它。 – anishsane