public void execute(String pCommand) throws JSchException {
		if (mSession == null || !mSession.isConnected()) {
			System.err.println("Can not execute on not existing or not connected session");
			return;
		}
		try {
			ChannelExec channel = (ChannelExec) mSession.openChannel("exec");
			channel.setCommand(pCommand);

			channel.setInputStream(null);
			channel.setErrStream(mErrorStream);
			channel.setOutputStream(mOutputStream);

			for (ConnectionListener cl : mConnectionListeners) {
				cl.commandExec(pCommand);
			}
			channel.connect();

            int waitedTimeToCloseChannel = 0;
			while (!channel.isClosed() || !channel.isEOF()) {
				Thread.sleep(100);
                waitedTimeToCloseChannel += 100;

//                if(waitedTimeToCloseChannel > 30000){
//                    break;
//                }

			}
			channel.disconnect();

			for (ConnectionListener conLin : mConnectionListeners) {
				conLin.commandFinished(pCommand);
			}

		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}