我正在开发一个简单的应用程序,但不知道如何以编程方式停止终端中的连续操作,例如PING。
我只想知道命令,然后我将它添加到runtime.getruntime.exec ...
我知道pc中有一个CTRL + C快捷方式,但我如何在Android上执行此操作?
很抱歉没有添加示例,我正在通过手机写信。
答案 0 :(得分:1)
另一种方式:
Process proc = Runtime.getRuntime().exec("ping 127.0.0.1");
proc.destroy();
执行命令时,您将获得相关过程。您也可以使用它来停止ping。
答案 1 :(得分:0)
您无法直接发送CTRL + C,但请查看Process.sendSignal()
(Android Developers)
首先,获取ping进程的进程ID。
然后,您可以轻松发送Process.sendSignal(yourPid, Process.SIGNAL_QUIT);
答案 2 :(得分:0)
经过长时间的调试后,我发现了如何解决问题 " 在没有返回ping统计信息的情况下杀死结果"。
获取ping进程的pid。 例如:
Progress proc = runtime.exec("ping 192.168.1.1");
其中proc
类似 流程[pid = 2343] ,因此您需要提取2343。
然后,当您正在阅读ping输出时,您可以使用
"Runtime.getRuntime().exec("kill -INT " + 2243);"
来杀死这个过程。
InputStreamReader reader = new InputStreamReader(proc.getInputStream());
BufferedReader buffer = new BufferedReader(reader);
String line;
while ((line = buffer.readLine()) != null) {
echo.append(line).append("\n");
if (UserStopPing) {
Runtime.getRuntime().exec("kill -INT " + temp);
}
proc.waitFor();
此程序将停止ping,您将获得统计信息[变量回声]。
答案 3 :(得分:0)
你可以试试这个。
您的屏幕上有一个 CTRL
选项。按那个然后输入 c
。
这可能对您有所帮助。
答案 4 :(得分:-1)
以防万一人们仍在寻找解决方案 - 在 Android 上,相当于 CTRL+C 是键盘上的“音量减小按钮”+ C。这应该会停止 ping。