題:
如何防止ADB Shell在Ctrl + C時退出
haimg
2012-01-11 06:45:38 UTC
view on stackexchange narkive permalink

當我從Windows桌面 adb shell 進入設備並在其中運行某些命令時,有時我想終止該命令。標準的unixy方法是使用 Ctrl + C kbd>組合鍵。但是,當我這樣做時,整個 adb shell 終止。

如何僅終止當前shell中的程序,而不終止shell本身?

我讀了一個論壇帖子,聲稱 Ctrl + ] 可以工作,但是我沒有運氣嘗試過。你的旅費可能會改變。似乎沒有辦法讓adb傳遞Ctrl-C,因為它無法捕獲SIGINT。標準的[Ctrl-V方法](http://superuser.com/a/154941/59659)似乎不適用於Ctrl-C,儘管不幸的是它確實將Enter轉換為`^ J`。
五 答案:
haimg
2012-01-11 11:17:12 UTC
view on stackexchange narkive permalink

我為此找到了一種解決方法(至少對於有根電話)。如果手機已紮根,則很可能會安裝 busybox stty 是busybox的一部分。

stty intr ^ x

重新定義 Ctrl kbd> + X kbd>用作中斷命令,例如以前是 Ctrl kbd> + C kbd>。

太棒了
Christian d'Heureuse
2012-12-27 20:07:27 UTC
view on stackexchange narkive permalink

Alt kbd>- NumPad 3 kbd> + Enter kbd>對我有用。 Alt kbd>- NumPad 0 kbd>- NumPad 3 kbd> + Enter kbd>也可以並顯示“ ^ C”。

Ryan Conrad
2012-01-11 10:28:48 UTC
view on stackexchange narkive permalink

i能夠停止 top 進程,並通過按以下順序鍵入以下命令,仍然停留在shell中:

C kbd>

CTRL kbd> + Z kbd>

CTRL kbd> + M kbd>

如果我沒有鍵入所有3個連擊,它將不會停止,我必須 CTRL kbd> + C kbd>退出外殼。我只是通過嘗試不同的按鍵組合而發現了這一點,然後偶然發現了它。 YMMV

Ctrl + Z暫停進程,例如您必須稍後使用kill或killall殺死它。不過,這種解決方法總比沒有好。
我意識到,當我做了一個“出口”。有趣的是,它並不是執行任何操作的ctrl + z,實際上直到我執行ctrl + m時它才返回外殼,如果我沒有先輸入“ c”,它什麼也沒做。
這對我不起作用(我嘗試了`vmstat`而不是`top`)。有趣的是,當我按下Ctrl-Z時,它看起來好像什麼都沒有發生,但實際上我的輸入開始直接重定向到Windows Shell,而不是adb。 adb的輸出(來自vmstat)一直顯示在shell窗口中,但是我可以輸入“ cd C:”(例如),它將在Windows shell中執行。如果再按Ctrl-C,則輸出將停止,並且我會在後台看到我在Windows shell中鍵入的命令。很奇怪!
dazweeja
2012-02-17 09:20:30 UTC
view on stackexchange narkive permalink

Ctrl kbd> + \ kbd>後跟 Enter kbd>通常可以正常工作。

這將發送SIGQUIT信號,該信號可能不會適用於服務器(例如,轉儲核心文件),但我認為在Android手機/平板電腦上使用它(默認情況下不會轉儲核心文件)不是問題。適用於大多數情況的簡單解決方案。

Dralnaw
2013-10-09 01:22:53 UTC
view on stackexchange narkive permalink

在Windows上,您只需通過數字鍵盤輸入[Alt] + [3](不要忘了之後按Enter鍵)。
這會將[Ctrl] + [c]發送到外殼,從而終止當前命令:

 D:\ Android> adb shell $ catcat♥^ C $ exitexitD:\ Android> 

請注意,[Alt] + [3]在以下位置生成ASCII字符♥ Windows,它等於ETX字節。
如果您不這樣做,也可以按[Alt] + [0]-[3](按住數字鍵盤上的[0]和[3]的同時按住Alt鍵)棒窗口顯示一顆心;)



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...