2013-04-25 16 views
0

有沒有簡單的方法讓mrJob腳本中斷?很簡單的問題,但它對調試有很大的影響。我主要對取消python-only測試工作感興趣,因爲這是大多數調試發生的地方。如何取消mrJob一旦運行?^C不起作用

python my_mr_script.py my-mr-input.txt 
+0

從臀部拍攝:嘗試ctrl- \(aka SIGQUIT)。 – 2013-04-25 18:11:41

+0

在我的Mac上工作。太好了!它會打開一個對話框,提示「Python意外退出」。並要求我報告錯誤。輕微的痛苦,但並沒有像等待10分鐘讓一個錯誤的腳本完成一樣糟糕。 – Abe 2013-04-25 18:12:41

+1

酷!我會將其擴展爲一個正確的答案。 – 2013-04-25 18:16:17

回答

1

你有幾個簡單的選擇:

  • 發送SIGQUIT(這是在你的終端ctrl-\)。大多數流程不會打擾SIGQUIT,所以這是一種策略,可以處理一些不如令人敬畏的SIGINT(又名ctrl-c)處理程序。
  • ctrl-z + kill -9 %1 - 又名核選項。比捕獲SIGQUIT更難得的是趕上SIGTSTP。這就是你的shell用來控制作業的東西。在這種情況下,你暫停工作,然後發送它SIGKILL,它不能趕上。

N.b.上面的%1是一個bash-ism,它假定這是唯一正在運行的作業。