2013-02-11 52 views
0

我經常這樣做:如何從正在運行的進程中分叉?

$ gitk & 

啓動程序(在這種情況下象gitk,但無論哪`噸),並返回到shell提示符繼續在同一個shell工作。在你寫完之後你會如何處理它

$ gitk 

沒有&?是否有像^z這樣的組合鍵,將進程置於後臺但不中斷它?

回答

4

如果您已經啓動了沒有&的進程,它將在前臺運行。按Ctrl+Z將停止該過程,然後輸入命令bg以在後臺恢復過程執行。

1

每次調用外部程序時,如lsgitk或其他,請執行fork。在Bash中運行&的程序不僅僅是一個分支。它創建一個在後臺運行的新進程組。

Ctrl + z通常具有在後臺將作業置於停止狀態的效果(使用信號),請使用bg重新啓動。我說「通常」,因爲它可以改變,使用stty。要列出您的終端設置(並查看其他魔術Ctrl鍵),請嘗試stty -a

後臺作業的一個特點是,他們通常不能訪問鍵盤,但可以訪問屏幕。這可能與其他輸出混合,因此您可以使用stty tostop來防止它。這項工作必須帶到前臺才能使用屏幕,或使用stty -tostop。工作使用fg帶到前臺。

請注意,您可以有許多後臺作業,請通過鍵入jobs來查看它們。某些命令(包括fg,bgkill)採用可選的作業編號(前綴爲%)。

+0

感覺有點無結構,但很多有價值的信息,thx! – erikbwork 2013-02-11 14:28:32

+0

@ erikb85:非結構化?哪一部分?我認爲它是非常有條理的,但也許這是因爲它在25年以來一直保持不變。 – cdarke 2013-02-11 17:03:27

+0

我的意思是你的文本看起來有點非結構化,因爲它包含了很多信息。更像是面對面交談的引用,然後是網站上的描述性答案。但在閱讀了兩遍之後,我明白了,現在就可以使用它。 – erikbwork 2013-02-13 12:19:23

相關問題