2009-04-27 124 views
1

中的正在運行的進程我昨天通過MacPorts的應用程序進行升級,該應用程序耗時約4個小時。 在終端的一個標籤中看到安裝過程正在進行,這令人非常煩惱。無法隱藏終端

問題:隱藏正在運行的進程中terminalsuch,它並不需要的空間在我的工作區

我今天發現,在擊4新的命令coproc:

協進程是在子shell異步執行 ,彷彿命令 執行殼和協進程之間建立

我不確定你是否可以用它來解決問題。我沒有設法使用它。

如何隱藏正在運行的進程,以便它在終端中不可見,但它會繼續運行?

+0

可能是最好的,當時間來到這個移動到ServerFault ... – dmckee 2009-04-27 15:08:24

+0

@dmckee:哦,serverfault,你指的是新的網站,該網站稱在6周內開放? – 2009-04-27 15:12:13

+0

@Jérôme:那將是一個。這是一個很好的問題,但似乎更多的是「如何運行計算機」。比編程與我有關。 – dmckee 2009-04-27 15:58:27

回答

4

您是否認爲Ctrl + Z暫停進程,然後bg在後臺運行該進程?

要從終端分離進程,可以輸入disown。您現在可以關閉終端,甚至關閉您的會話。

這裏的問題是輸出將反正出現在bash中。

您還可以在screen開始您的程序。該命令提供了一種簡單的方法來啓動程序,關閉控制檯並稍後檢索它。

2

我懷疑你正在尋找的nohup

nohup LongRunningNoisyProgram & 

將運行程序,輸出記錄到文件中,所以你看不到它,推程序到背景,並不會取消如果您在終端運行時退出終端,則爲程序。

0

至少有一件事其他repliers沒有涵蓋:如何管理隱藏進程

假設您有100個使用「nohup find/&」創建的後臺進程。你想退出他們真正看到後臺進程如何工作。請使用以下命令:

ps -ej | awk '! /grep/ && /find/ {print $2}' | xargs kill -9 

然後,您可能想知道如何控制密鑰以隱藏進程。你可以將其更改爲p,其中停賽代表CTRL + Z(^ Z):

stty的停賽p

你可以看到這裏的鍵:

的stty -a

請比較更改前後的stdouts。該命令特別有用,因爲它有助於記住其他命令,如^ W(刪除一個單詞)。

傑羅姆有一個關於屏幕的優秀技巧。我強烈建議追求的方向:

http://www.commandlinefu.com/commands/matching/screen/c2NyZWVu/sort-by-votes