Class ManualProcessId
java.lang.Object
com.arjuna.ats.internal.arjuna.utils.ManualProcessId
- All Implemented Interfaces:
Process
Obtains a unique value to represent the process id via configuration.
Other options include ...
int pid = Integer.parseInt((new File("/proc/self")).getCanonicalFile().getName()); // linux specific
Un*x specific ...
String[] cmd = {"/bin/sh", "-c", "echo $PPID"};
Process proc = Runtime.getRuntime().exec(cmd);
Field field = proc.getClass().getDeclaredField("pid");
field.setAccessible(true);
_pid = field.getInt(proc); // although this is the child pid!
proc.destroy();
byte[] ba = new byte[100];
String[] cmd = {"/bin/sh", "-c", "echo $PPID"};
Process proc = Runtime.getRuntime().exec(cmd);
proc.getInputStream().read(ba);
System.out.println(new String(ba));
http://java.sun.com/javase/6/docs/jdk/api/attach/spec/com/sun/tools/attach/VirtualMachine.html // JDK 6 only
and ...
MonitoredHost host = MonitoredHost.getMonitoredHost(null);
for (Object activeVmPid : host.activeVms())
int pid = (Integer) activeVmPid;
and ...
Process proc = Runtime.getRuntime().exec(cmd);
Field field = proc.getClass().getDeclaredField("pid");
field.setAccessible(true);
_pid = field.getInt(proc); // although this is the child pid!
-
Constructor Summary
-
Method Summary