2016-02-19 66 views
0

執行它bash腳本鎖定我有兩個腳本:,當我在後臺

腳本1:

....... 
./script2 
.... 

腳本2:

...... 
gdb ..... > /dev/null 2>&1 
...... 

當我執行腳本,它的工作原理,但當我在背景中運行它時,我收到以下消息:

[1]+ Stopped     ./script1 -params... 

當我觀察運行進程時,有script1,script2和gdb,所以gdb剛剛鎖定(它有帶有q,y命令的命令文件)。當我執行fg時,gdb完成。經過一段時間後,它再次打印[1]+ Stopped gdb鎖定,fg再次繼續....

什麼可以是問題?

編輯:用

gdb ..... > /dev/null 2>&1 & 
wait 

它的工作原理

回答

0

[1]+ Stopped ./script1 -params...

發生這種情況時,你的程序(或腳本)在後臺運行,試圖從終端讀取。

您可能想用--batch標誌運行gdb,因此它不會嘗試讀取其STDIN。

+0

謝謝你的回答。儘管我通過'q'傳遞文件,'y'命令(並且退出確認已關閉,爲了安全起見'y'命令)。當我按'fg'讓它在前臺運行時,它會在沒有我輸入的情況下開始運行。 – user1289