我經常這樣做:如何從正在運行的進程中分叉?
$ gitk &
啓動程序(在這種情況下象gitk
,但無論哪`噸),並返回到shell提示符繼續在同一個shell工作。在你寫完之後你會如何處理它
$ gitk
沒有&
?是否有像^z
這樣的組合鍵,將進程置於後臺但不中斷它?
我經常這樣做:如何從正在運行的進程中分叉?
$ gitk &
啓動程序(在這種情況下象gitk
,但無論哪`噸),並返回到shell提示符繼續在同一個shell工作。在你寫完之後你會如何處理它
$ gitk
沒有&
?是否有像^z
這樣的組合鍵,將進程置於後臺但不中斷它?
如果您已經啓動了沒有&
的進程,它將在前臺運行。按Ctrl+Z
將停止該過程,然後輸入命令bg
以在後臺恢復過程執行。
每次調用外部程序時,如ls
或gitk
或其他,請執行fork
。在Bash中運行&
的程序不僅僅是一個分支。它創建一個在後臺運行的新進程組。
Ctrl + z通常具有在後臺將作業置於停止狀態的效果(使用信號),請使用bg
重新啓動。我說「通常」,因爲它可以改變,使用stty
。要列出您的終端設置(並查看其他魔術Ctrl鍵),請嘗試stty -a
。
後臺作業的一個特點是,他們通常不能訪問鍵盤,但可以訪問屏幕。這可能與其他輸出混合,因此您可以使用stty tostop
來防止它。這項工作必須帶到前臺才能使用屏幕,或使用stty -tostop
。工作使用fg
帶到前臺。
請注意,您可以有許多後臺作業,請通過鍵入jobs
來查看它們。某些命令(包括fg
,bg
和kill
)採用可選的作業編號(前綴爲%
)。
感覺有點無結構,但很多有價值的信息,thx! – erikbwork 2013-02-11 14:28:32
@ erikb85:非結構化?哪一部分?我認爲它是非常有條理的,但也許這是因爲它在25年以來一直保持不變。 – cdarke 2013-02-11 17:03:27
我的意思是你的文本看起來有點非結構化,因爲它包含了很多信息。更像是面對面交談的引用,然後是網站上的描述性答案。但在閱讀了兩遍之後,我明白了,現在就可以使用它。 – erikbwork 2013-02-13 12:19:23