我正在創建一個線程化程序,其中不是所有線程都在開始時產生。有些人必須先等待一個或多個線程完成。這不會是一個問題,除非我想保留xterm
以便讀取輸出。在某些情況下,管道到文件不起作用,因爲終端輸出中有一些花哨的東西會覆蓋自身。在新的xterm中帶有每個線程的Threaded Perl
我一直在使用 my $xt_hold = "xterm -sl 5000 -geometry 350x50+0+100 -iconic -hold -e $cmd"; system($xt_hold);
來創建xterm
,但是這不允許我在完成時加入線程。有沒有另一種方法可以讓xterm保持打開狀態,並在完成時知道何時/加入線程?
如果使用GNU screen
有更好的解決方案,那麼我可能會對此感興趣,但我的主要選擇是xterm
,因爲我更熟悉它。
對不起,可能會誤解。當你說'my $ xt_hold =「xterm -sl 5000 ... -e $ cmd」'你的意思是'我的$ xt_hold = \'xterm -sl 5000 ... \''?你使用反引號來產生一個xterm shell,或者你只是把一個字符串放在'$ xt_hold'中? – mikew
用'system'調用它,所以'xt_hold'只是一個字符串。與實際代碼相比,這個問題被簡化了。用您的評論更新了問題。 – Stuart