2014-05-16 18 views
1

我從bash腳本運行mongodb實例,如果mogngo在啓動期間由於某種原因崩潰,我需要顯示用戶友好的消息。如果在子進程(命令&)中發生錯誤,就會出現Bash chek

讓我有那種代碼

eval 'mongod --dbpath=$ABS_MONGO_DATA_PATH &' || printf "something bad happened" 

但那種符號錯誤處理程序不會被調用。但如果我刪除&唱歌,那麼在mongo初始化後,進一步的腳本不會因爲mongod進程等待信號而運行

我該如何解決這個問題?

+0

看起來非常相似[this](http://stackoverflow.com/questions/1570262/shell-get-exit-code-of-background-process) –

回答

1

你不需要eval此:

{ mongod --dbpath="$ABS_MONGO_DATA_PATH" || 
    printf "something bad happened"; } & 

,而不只是在後臺運行mongod的,在後臺運行的整個命令列表。

相關問題