improve process id finding using android 'toolbox'
This commit is contained in:
parent
2d6a7b35c0
commit
b4fa943fe9
|
@ -966,9 +966,13 @@ public class TorService extends Service implements TorServiceConstants, TorConst
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (FileNotFoundException e)
|
||||||
{
|
{
|
||||||
logException("unable to get control port",e);
|
logNotice("unable to get control port: no file yet");
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
logNotice("unable to get control port IOException");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public interface TorServiceConstants {
|
||||||
public final static String SHELL_CMD_CHMOD = "chmod";
|
public final static String SHELL_CMD_CHMOD = "chmod";
|
||||||
public final static String SHELL_CMD_KILL = "kill -9";
|
public final static String SHELL_CMD_KILL = "kill -9";
|
||||||
public final static String SHELL_CMD_RM = "rm";
|
public final static String SHELL_CMD_RM = "rm";
|
||||||
public final static String SHELL_CMD_PS = "ps";
|
public final static String SHELL_CMD_PS = "toolbox ps";
|
||||||
//public final static String SHELL_CMD_PIDOF = "pidof";
|
//public final static String SHELL_CMD_PIDOF = "pidof";
|
||||||
public final static String SHELL_CMD_LINK = "ln -s";
|
public final static String SHELL_CMD_LINK = "ln -s";
|
||||||
public final static String SHELL_CMD_CP = "cp";
|
public final static String SHELL_CMD_CP = "cp";
|
||||||
|
|
|
@ -78,16 +78,19 @@ public class TorServiceUtils implements TorServiceConstants {
|
||||||
|
|
||||||
Process procPs = null;
|
Process procPs = null;
|
||||||
|
|
||||||
//String processKey = new File(command).getName();
|
String processKey = new File(command).getName();
|
||||||
|
|
||||||
procPs = r.exec(SHELL_CMD_PS); // this is the android ps <name> command
|
procPs = r.exec(SHELL_CMD_PS + ' ' + processKey); // this is the android ps <name> command
|
||||||
|
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(procPs.getInputStream()));
|
BufferedReader reader = new BufferedReader(new InputStreamReader(procPs.getInputStream()));
|
||||||
String line = reader.readLine(); //read first line "headers" USER PID PPID etc
|
String line = null;
|
||||||
|
|
||||||
while ((line = reader.readLine())!=null)
|
while ((line = reader.readLine())!=null)
|
||||||
{
|
{
|
||||||
if (line.contains(command))
|
if (line.contains("PID"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (line.contains(processKey))
|
||||||
{
|
{
|
||||||
|
|
||||||
String[] lineParts = line.split("\\s+");
|
String[] lineParts = line.split("\\s+");
|
||||||
|
|
Loading…
Reference in New Issue