Я запускаю приложение 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}'`
Вы можете попробовать и правильно закодировать, как ваше приложение будет выходить (например, убить всех детей, закрыть сетевые сокеты)