2010-09-14 51 views
1

我寫了一個bash腳本A,它在循環中調用另一個腳本B超過1000次。我該如何殺死這個bash腳本?

Ctrl + C只殺死腳本B,只有一次迭代。腳本A繼續運行並再次調用腳本B.

我可以重寫這些腳本中的東西,這樣按Ctrl +ç殺一個腳本?

回答

4

你可以捕捉你的殺人信號並做你想做的任何事情(比如殺死A而不是B)。請參閱here如何。 如果您在B中使用它,請嘗試使其成爲其父代...

0

正確的做法是確保兩個腳本都在相同的進程組中執行。然後當你按Ctrl-C時,他們都會得到SIGINT信號。

從你所說的,由於某種原因,他們進入了不同的過程組。如果執行腳本A的shell認爲它(shell)是交互式的,就可能發生這種情況。很難從描述中分辨出更多內容 - 隨意粘貼一些示例代碼(並描述如何啓動腳本),然後我們來看看。