def run
      return if pid
      listener_socket, master_socket = UNIXSocket.pair
      if @pid = fork
        # master
        listener_socket.close
        master_socket.close_on_exec = true
        log "Started listener #{@pid}"
        @master_socket = master_socket
      else
        # listener
        master_socket.close
        Master::TRAPS.each { |signal| trap(signal, 'DEFAULT') rescue nil }
        Listener.new(@options.merge(:socket => listener_socket)).exec
        exit
      end
    end
def run
      return if pid
      listener_socket, master_socket = UNIXSocket.pair
      if @pid = fork
        # master
        listener_socket.close
        master_socket.close_on_exec = true
        log "Started listener #{@pid}"
        @master_socket = master_socket
      else
        # listener
        master_socket.close
        Master::TRAPS.each { |signal| trap(signal, 'DEFAULT') rescue nil }
        Listener.new(@options.merge(:socket => listener_socket)).exec
        exit
      end
    end
Public: Start the listener process.