In reply to jasonko:
just a quick question here. when does process::self() return null ? Why we always need to code like this :
if ((p[0] != null) && (p[0].status != process::FINISHED)) p[0].kill();
if ((p[1] != null) && (p[1].status != process::FINISHED)) p[1].kill();