2014-02-24 63 views

回答

2

它告訴Bash在後臺運行的任務,返回一個交互式終端的用戶(見here)。您可以通過輸入

fg 

如果你想從一個單一的命令行語句在後臺運行多個命令落榜回到前臺,你需要它們封裝在括號,例如

(cmd1 &); (cmd2 &); 

如果你想作爲一個後臺進程一起執行多個命令,你可以組用大括號他們:

({ subcmd11; subcmd12; } &); ({ subcmd21; subcmd22; } &); 

請注意括號需要遵循的一個空白,而且大括號內的命令列表必須以分號結束(常規圓括號不具有這些限制,但它們會創建額外的子shell)。要詳細瞭解這兩種分組風格,請查看reference

+0

鏈接不起作用,但是謝謝。我有另一個問題,我試圖在shell腳本中運行這些命令。但它抱怨分號後出現語法錯誤?這不可能嗎? –

+0

好的例子:set -e; sudo service nginx start; QUEUE = * bundle exec rake environment resque:work >>/home/jobs/log/resque.log 2> &1 &; rake resque:scheduler >>/home/jobs/log/resque-scheduler.log 2>&1& –

+0

@ infantDev請參閱最新的答案。 –

相關問題