Monday, September 28, 2009

Process ID

Quando se faz um serviços Unix em Java para poder fazer os scripts de stop, kill, etc, é preciso o PID (número do processo), então para tal é preciso gerar um arquivo que contém esta informação.

Portanto este código faz exatamente isto, gera um arquivo com o PID da aplicação Java:

java.io.BufferedWriter bw = null;
try {
bw = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream("my.pid")));
String pidInfo = java.lang.management.ManagementFactory.getRuntimeMXBean().getName();
bw.write(pidInfo.substring(0, pidInfo.indexOf('@')));
} finally {
if (bw != null) bw.close();
}