/**
  * Returns the thread group leader id for a currently running thread.
  *
  * @param tid the thread id
  * @return the thread group leader id of the thread, or -1 if the thread is not running. This is
  *     same as what getpid(2) would return if called by tid.
  * @hide
  */
 public static final int getThreadGroupLeader(int tid) {
   String[] procStatusLabels = {"Tgid:"};
   long[] procStatusValues = new long[1];
   procStatusValues[0] = -1;
   Process.readProcLines("/proc/" + tid + "/status", procStatusLabels, procStatusValues);
   return (int) procStatusValues[0];
 }
 /**
  * Returns the parent process id for a currently running process.
  *
  * @param pid the process id
  * @return the parent process id of the process, or -1 if the process is not running.
  * @hide
  */
 public static final int getParentPid(int pid) {
   String[] procStatusLabels = {"PPid:"};
   long[] procStatusValues = new long[1];
   procStatusValues[0] = -1;
   Process.readProcLines("/proc/" + pid + "/status", procStatusLabels, procStatusValues);
   return (int) procStatusValues[0];
 }