Есть ли способ закрыть порт, используемый службой во время завершения работы или загрузки?

Есть ли способ закрыть порт, используемый службой во время завершения работы или загрузки?

У меня есть некая служба listen.service, которая заставляет машину работать как TCP-сервер, к которому могут подключаться другие клиенты. Проблема в том, что после запуска службы она фактически ничего не делает около 5 минут, потому что порт ранее использовался. Если я просто запущу программу из командной строки, я смогу убить идентификатор процесса, однако у меня его нет/не могу найти. Я предполагаю, что у служб нет PID, который я могу убить. Я использовал netstat -ap | grep :<portNumber>для поиска открытого порта, используемого службой, но не было указано пригодного PID.

Итак, чтобы прояснить, моя служба — это некий программный файл, который устанавливает IP и порт в качестве сокета и действует как прослушивающий сервер. Если я перезагружу машину, служба перезапустится, однако ничего не произойдет, потому что сокет/порт все еще каким-то образом открыт. Примерно через 5 минут он начнет работать так, как и ожидалось. Есть ли способ отключить этот сокет/порт при загрузке?

Связанный контент