次の行に沿って、suを呼び出してコマンドを送信することでプロセスを開始するAndroidアプリケーションを構築しています。
Process su = Runtime.getRuntime().exec( "su" );
DataOutputStream out = new DataOutputStream( su.getOutputStream() );
out.writeChars( "pppd /dev/pts/0" );
out.flush();
サービスを停止してpppdプロセスを強制終了したい場合、現在、pppdへの最初の呼び出しのように実行busybox killall pppdしています。最初の呼び出しで使用したとしても、su単に呼び出しが失敗するため、pppdがフォークしてバックグラウンドプロセスを作成できなくなります。 動作しますが、pppdに依存する他のアプリケーションを壊す可能性があります。 su.destroy()pppd /dev/pts/0 nodetachkillall
pppdプロセスを直接排除できるメスが大いに好きですが、実行ps、PIDの検索、呼び出しkillがなければ、適切な解決策はないようです。
suAndroidで開始されたプロセスを強制終了するための合理的にクリーンな方法はありますか?