2012-01-24 111 views
1

我做了上虛擬機使用Ubuntu運行的bash腳本啓動這樣內關閉Android模擬器:我怎樣才能退出/從腳本

nohup emulator @2.1 -snapshot 1 -no-snapshot-save & 
echo ----------- Waiting for Device 
adb wait-for-device 

我然後做一些東西,並希望關閉/退出模擬器,在腳本完成後放棄更改後的狀態。我的問題是,我不知道如何退出模擬器 - 乾淨。 我想過抓住模擬器進程ID並殺死它-9,但是有沒有更好的方法?

回答

1

據我所知adb,沒有辦法優雅地停止模擬器。文檔說按下Ctrl + C會停止模擬器,因此kill -15應該可以工作(並且比kill -9更好)。

nohup emulator 
EMULATOR_PID=$! 

#actions 

kill -15 $EMULATOR_PID 
+0

我也只是想出了一個不合格的工作:** kill -9'ps ax | grep -m 1「emulator-arm」| awk'{print $ 1}'** ** -m 1是必需的,因爲我使用grep來初始化其名稱爲「emulator-arm」的另一個進程。當我回應上面的行時,我總是得到兩個PID。在找到第一行後,-m 1停止。 – Jasi

+0

上面的評論不適用於我,因爲我的過程被命名爲「emulator64-arm」。用ps ax | grep -m 2「emulator64-arm」| awk'{print $ 1}'我看到第一個入口是grep,第二個入口是被殺死的。 :-(所以我手動做我的PS,然後殺死模擬器。 – tverrbjelke