private void handleKillProcess(String[] cmdLine){
        int procId=-1;
        if(cmdLine.length < 2){
            System.out.println("invalid argument number, please type help for more information");
            return;
        }
        try{
            procId=Integer.valueOf(cmdLine[1]);
        }catch(Exception e){
            System.out.println("the worker id is not a number");
            return;
        }
        
        if(!processesMap.containsKey(procId)){
            System.out.println("no such process");
            return;
        }
        ProcessInfo procInfo = processesMap.get(procId);
        if (procInfo.getStatus().equals(ProcessInfo.Status.RUNNING.toString())) {
                Message killCommand =new Message(Message.msgType.COMMAND);
                killCommand.setCommandId(CommandType.KILL);
                killCommand.setProcessId(procId);
                int workerId = procInfo.getWorkerId();
                try{
                    processServerMap.get(workerId).sendToWorker(killCommand);
                    processesMap.get(procId).setStatus(Status.TERMINATING);
                }catch (IOException e) {
                    //e.printStackTrace();
                    System.out.println("Kill Command sent failed, remove worker "+workerId);
                    removeNode(workerId);
                }
                
                
                /*update the process status when receive the reply from worker*/

            } else {
                System.out.println("That process is not currently running");
            }
    }