Назад | Перейти на главную страницу

Как я могу освободить порт, который все еще используется, но не привязан к процессу?

Я запускаю приложение Python, которое запускает несколько процессов. Он использует порт 56008 для прослушивания клиентских запросов. Иногда после его закрытия используемый порт все еще «используется». Некоторые процессы Python все еще работают, но пытаются их убить, используя kill похоже, не влияет.

Как я могу освободить его вручную, чтобы перезапустить приложение?

Больше информации:

Выход ps -C python

  PID TTY          TIME CMD
30118 pts/1    00:00:00 python
30131 pts/1    00:00:00 python

* Всего около 30 строк формата [pid] pts/1 00:00:00 python

Выход netstat -tulp (только соответствующая строка):

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:56008                 *:*                     LISTEN      -

Это сработало

sudo kill -9 `ps -C python | grep python | grep -v grep | awk '{print $1}'`

Вы можете попробовать и правильно закодировать, как ваше приложение будет выходить (например, убить всех детей, закрыть сетевые сокеты)