lsof -i :port
скажет Вам, какие программы слушают на определенном порте.
В то время как ответ данный @sawa является технически правильным, я думаю, что он неправильно использует механизм обработки исключений Ruby.
Как комментарий Peter Ehrlich предлагает (указывая на старое сообщение в блоге Mike Ferrier ), Ruby уже оборудован механизмом обработчика исключений DRY:
puts 'starting up'
begin
case rand(3)
when 0
([] + '')
when 1
(foo)
when 2
(3 / 0)
end
rescue TypeError, NameError => e
puts "oops: #{e.message}"
rescue Exception => e
puts "ouch, #{e}"
end
puts 'done'
При помощи этой техники, мы можем получить доступ к объекту исключения, который обычно имеет некоторую ценную информацию в ней.