destroy existed port
require 'socket'
def port_in_use?(port)
begin
socket = TCPServer.new('localhost', port)
socket.close
return false
rescue Errno::EADDRINUSE
return true
end
end
def destroy_port(port)
raise ArgumentError, 'Invalid port number' unless (1..65535).include?(port)
if port_in_use?(port)
system("lsof -i :#{port} | awk 'NR!=1 {print $2}' | xargs kill")
puts "Port #{port} has been destroyed."
else
puts "Port #{port} is not in use."
end
end
# Example usage:
destroy_port(3000)