Control
+ Z
用於通過向其發送信號來暫停進程,該信號SIGSTOP不能被程序攔截。而Control
+ C
用來殺死帶有信號的進程SIGINT
,並且可以被程序截獲,因此它可以在退出之前清理自身,或者根本不退出。
如果您暫停一個進程,它將顯示在外殼程序中以告訴您它已被暫停:
[1]+ Stopped yes
但是,如果您殺死了一個,則除了被退回到Shell提示符外,您將看不到任何確認。當您暫停一個進程時,您也可以使用它來做一些花哨的事情。例如,運行此命令:
fg
程序暫停后,它將重新回到前台。
並運行命令
bg
程序暫停后將允許它在后台運行(盡管程序的輸出仍將進入TTY)。
如果您想殺死已暫停的程序,則不必fg先將其恢復,只需執行以下命令:
kill %1
如果您有多個掛起的命令,請運行
jobs
將列出它們,如下所示:
[1]- Stopped pianobar
[2]+ Stopped yes
使用%#
,其中#
是作業數目(一個在方括號中從jobs
輸出)與bg
,fg
或kill
,可用於做這項工作的動作。