1

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

kill -9 PID   or  /bin/kill -f PID

Я вижу, что процесс был прекращен. Однако порт не освобожден. Обычно я могу завершить процесс чисто с помощью ctrl-c. Есть ли команда kill, которая может иметь тот же эффект, что и ctrl-c в cygwin? Спасибо!

2 ответа2

3

kill -9 следует использовать только как последнее средство. Если kill -SIGNINT PID не делает то, что вы хотите, попробуйте kill -SIGTERM PID . Эти сигналы могут быть перехвачены приложением, и оно может делать с ними все, что захочет, включая выполнение очистки или игнорирование их.

1

Я полагаю, что Ctrl-C - сигнал SIGINT (прерывание сигнала), который будет эквивалентен:

kill -2 PID

Это определенно легче, чем kill -9 поскольку это даст процессу некоторое время для очистки после себя.

Для дополнительной информации смотрите man kill.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .