// A JSignal test class class Test { public static void main(String[] args) { if(args.length == 0) { usage(); return; } if(args[0].equals("pidlist")) pidList(); else if(args[0].equals("processlist")) processList(); else if(args[0].equals("kill")) if(args.length != 2 && args.length != 3) usage(); else try { it.rm.lupo.JSignal.kill(Integer.valueOf(args[1]).intValue(), (args.length == 3 ? Integer.valueOf(args[2]).intValue() : it.rm.lupo.JSignal.Signal.SIGUSR1)); } catch(java.lang.Exception e) { System.out.println("Unable to kill that process: " + e); } } static void usage() { System.out.println("Usage:"); System.out.println("\tjava Test "); System.out.println("\taction is one of"); System.out.println("\t\tpidlist - does a list of pid"); System.out.println("\t\tprocesslist - does a list of processes with name and arguments"); System.out.println("\t\tkill pid [signum] - send signal signum to pid. If signum is not specified, SIGUSR1 is assumed"); } static void pidList() { int[] pids = it.rm.lupo.JSignal.getPids(); System.out.print("Pid list: "); for(int i = 0; i < pids.length; ++i) System.out.print(pids[i] + " "); System.out.println(""); } static void processList() { it.rm.lupo.JSignal.Process[] processes = it.rm.lupo.JSignal.getProcesses(); for(int i = 0; i < processes.length; ++i) { System.out.println("Process " + processes[i].getName() + " {"); System.out.println("\tPid: " + processes[i].getPid()); System.out.print("\tArguments: "); for(int j = 0; j < processes[i].getArgs().length; ++j) System.out.print(processes[i].getArgs()[j] + " "); System.out.println(""); System.out.println("}"); } } }