@Override
    public void run() {
        while (this.keepRunning()) {
            readCommand("jServe >");
            try {

                if (cmdl.startsWith("shell")) {
                    if (cmdl.equals("shell")) {
                        System.out.println("+----------------------------+");
                        System.out.println("|   Shell Access to System   |");
                        System.out.println("|     type 'exit' to quit    |");
                        System.out.println("+----------------------------+");
                        while (true) {
                            readCommand("jServe Shell >");
                            if (cmd.equals("exit")) {
                                break;
                            }
                            processShellCommand(cmd);
                        }
                    } else {
                        processShellCommand(cmd.substring(cmd.indexOf(' ')));
                    }
                } else {
                    proccessCommand(cmd);
                }

            } catch (Exception e) {
                System.err.println("An Error Occured In the System");
                e.printStackTrace();
                try {
                    Thread.sleep(1);
                } catch (InterruptedException e1) {
                    e1.printStackTrace();
                }
            }
        }
    }