package com.netifera.platform.host.processes; import java.io.Serializable; public class Process implements Serializable { private static final long serialVersionUID = -3103187458909163222L; public static final int RUNNING = 1; public static final int SLEEPING = 2; public static final int ZOMBIE = 3; transient private IProcessManager manager; //FIXME NPE this is null when comming form a remote probe final private String name; final private int state; final private int pid; final private int ppid; final private int uid; //replace with User final private String commandLine; // final private Map<String,String> environment; final private long size; public Process(IProcessManager manager, String name, int state, int pid, int ppid, int uid, String commandLine, long size) { this.manager = manager; this.name = name; this.state = state; this.pid = pid; this.ppid = ppid; this.uid = uid; this.commandLine = commandLine; this.size = size; } public String getName() { return name; } public int getState() { return state; } public int getPID() { return pid; } public int getPPID() { return ppid; } public int getUID() { return uid; } public String getCommandLine() { return commandLine; } public long getSize() { return size; } public boolean kill() { return manager.kill(pid); } public boolean isPriviledged() { return uid == 0; } public String toString() { return name+" ("+pid+")"; } }