Dobijanje vlastitog PID-a ili identifikacionog broja procesa je bitan dio Java programiranja. PID je jedinstveni broj koji identifikuje svaki proces u sistemu koji koristi planer operativnog sistema za upravljanje svim pokrenutim procesima. U našem prvom dijelu ćemo pogledati kako da dobijete svoj PID koristeći Javu.
Iako Java ne nudi standardni način da se dobije ID procesa. Međutim, postoje neka rješenja koja ćemo iskoristiti da dobijemo PID.
Java ManagementFactory za dobivanje vlastitog PID-a
Java izdanja nakon što je Java 9 opremljena načinom za dobijanje PID-a iz `ProcessHandle`:
public class PidExample { public static void main(String[] args){ long PID = ProcessHandle.current().pid(); System.out.println("PID: " + PID); } }
U gornjem kodu, `ProcessHandle.current().pid()` vraća PID trenutnog procesa ili Java virtuelne mašine. Zatim možete odštampati ili koristiti ovaj PID gdje god je potrebno.
Dobivanje PID-a sa zastarjelom Java verzijom
Za one koji koriste Javu 8 ili stariju verziju kojoj nedostaje `ProcessHandle`, mogu dobiti PID preko `ManagementFactory.getRuntimeMXBean().getName()`:
import java.lang.management.ManagementFactory; public class PidExampleLegacy { public static void main(String[] args){ String jvmName = ManagementFactory.getRuntimeMXBean().getName(); long PID = Long.parseLong(jvmName.split("@")[0]); System.out.println("PID: " + PID); } }
Ova starija metoda uključuje razdvajanje JVM imena od `@` i raščlanjivanje PID-a iz obrasca stringova.
Kôd prvo dobiva JVM ime u obliku kao što je 'pid@hostname'. Podjelom ovog niza na '@', on preuzima PID. Ova metoda zaista može dati greške ako JVM ne slijedi obrazac 'pid@hostname'. Međutim, većina JVM-ova radi, što ga čini istorijski sigurnom opkladom.
Završavajući
Važno je razumiju ulogu PID-ova u operativnim sistemima i kako se njima upravlja . Ovo znanje daje snagu, kontrolu i fleksibilnost kod razvoja aplikacija na nivou sistema. U Java programiranju postoji direktan način da se dobije PID u nedavnim izdanjima, a postoje i alternativni načini za stare verzije. Ove informacije treba da koristimo odgovorno, znajući da zloupotreba može dovesti do nestabilnosti sistema.