code: public void stop() throws IOException {
  		synchronized (this.monitor) {
  			if (this.listenThread != null) {
  				closeAllConnections();
  				try {
  					this.executor.shutdown();
  					this.executor.awaitTermination(1, TimeUnit.MINUTES);
  				}
  				catch (InterruptedException ex) {
  					Thread.currentThread().interrupt();
  				}
  				this.serverSocket.close();
  				try {
  					this.listenThread.join();
  				}
  				catch (InterruptedException ex) {
  					Thread.currentThread().interrupt();
  				}
  				this.listenThread = null;
  				this.serverSocket = null;
  			}
  		}
  	}
docs: Gracefully stop the livereload server.
  @throws IOException in case of I/O errors