У меня есть сервер, работающий на локальном сервере. Время от времени он будет зависать, и мне нужно будет использовать Ctrl + Z, чтобы отменить его. Проблема в том, что используемый порт все еще открыт для него после того, как я принудительно закрыл его, и он не может вернуть этот порт при перезапуске программы. Итак, мне нужно перезапустить весь сервер.
Есть ли способ принудительно закрыть этот порт, чтобы служба могла открыть его при запуске резервного копирования или, возможно, обновить все порты?
Спасибо,
Максимум
Ctrl+Z Это только приостановка вашей работы, поместите ее в задний план, чтобы порт все еще был открыт. Просто используйте Ctrl+C вместо.
В вашем случае узнайте процесс, который прослушивает этот порт, с помощью:
# netstat --protocol=ip -nlp | grep :port
и убить PID. Не нужно перезагружать сервер.
ctrl-z - приостановка.
Вам, вероятно, понадобится ctrl-c.
Вы также можете отправить сигнал на индивидуальный PID. Например, если бы я хотел закрыть порт 80, я мог бы сначала запросить открытые файлы с помощью lsof:
lsof -i tcp:80
httpd 24579 root 3u IPv6 142712111 TCP *: http (СЛУШАТЬ)
Затем отправьте сигнал уничтожения:
kill -9 24579