Před chvílí jsem se o to pokusil (a nepodařilo se mi to). Nakonec jsem zabalil svůj příkaz do skriptu shellu, který vypsal pid do souboru. Není to nejlepší řešení, ale překonalo mě to.
Stále pro to neexistuje žádné veřejné API (viz http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4244896), ale existují zástupná řešení.
Prvním řešením by bylo použití externího programu jako ps
a volat jej pomocí Runtime.exec()
získat pid :)
Další je založen na skutečnosti, že java.lang.Process
třída je abstraktní a že ve skutečnosti získáte konkrétní podtřídu v závislosti na vaší platformě. V systému Linux získáte java.lang.UnixProcess
který má soukromé pole int pid
. Pomocí odrazu můžete snadno získat hodnotu tohoto pole:
Field f = p.getClass().getDeclaredField("pid");
f.setAccessible(true);
System.out.println( f.get( p ) );
Vraťte shodu s regulárním výrazem ve skriptu Bash namísto jeho nahrazení
Duplikovat celou databázi MySQL