我在一个通过卫星调制解调器进行通信的android项目。
您需要运行调制解调器的pppd命令才能通过android进行连接。
我通过bash执行了这个命令。
HTTP POST
在某些时刻,Android会使用PPID = 1
创建此过程当发生这种情况时,我无法通过执行以下命令来终止进程
process = Runtime.getRuntime().exec(new String[]{"su", "root", "-c", "/data/local/android_connect.sh", "&> /mnt/sdcard/Download/log.txt"});
是否可以通过android杀死PPID = 1的进程?
答案 0 :(得分:3)
这不是一个好主意,但你可以尝试打电话
Runtime.getRuntime().exec("kill -9 " + PID);
。
或者尝试拨打killBackgroundProcesses
而不是killProcess
。 killProcess
不允许您杀死UID与您的应用UID不同的进程,而killBackgroundProcesses
可以为您执行此操作。
请确保您的应用具有android.permission.ACCESS_SUPERUSER
,android.permission.KILL_BACKGROUND_PROCESSES
和android.permission.GET_TASKS
等权限。
答案 1 :(得分:1)
PID=1
是流程管理员。它直接在内核之后执行,如果你杀了它,所有进程都会死掉。不建议如此,但如果您决定可以试试这个:
Runtime.getRuntime().exec("kill -9 " + PID);