#linux #file #unix #kill-process
Вопрос:
Когда я пытаюсь установить миниконду на сервер, она застревает, и я закрываю терминал и запускаю новый. Я пытаюсь удалить старый каталог miniconda, но получил ошибку, в нем написано, что устройство или ресурс заняты, поэтому я использую каталог lsof D для поиска запущенного процесса, это:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME conda.exe 32565 qp24 cwd DIR 0,55 50 25778411266 miniconda3
Но странно то, что я не смог убить PID, используя либо kill -9 32565, либо kill -15 32565. Это буквально не имеет никакого эффекта: (процесс также не помечен как зомби)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME COMMAND 32565 qp24 20 0 0 0 0 R 100.0 0.0 5124187h conda.exe
В принципе, я не знаю, как справиться с этой ситуацией, нужно ли мне перезагружать сервер? Поскольку нашего администратора нет рядом, быстрая перезагрузка невозможна. Интересно, у вас, ребята, есть какие-нибудь предложения, как остановить этот процесс?
Комментарии:
1. Странно, процесс без памяти (VIRT == RES == 0) , который использует 100% процессор. Выходит ли kill с кодом выхода, равным нулю?
2. Привет, спасибо за ваш ответ. Нет, когда я вызываю kill -9 32565 или kill -15 32565, сообщения о возврате/выходе вообще нет.
3. Чтобы отобразить код выхода, вы вводите
echo $?
его сразу после выполнения убийства. Как правило, утилиты Unix/Linux не очень подробны. Иногда они даже не жалуются, если что-то не так. Что меня немного смущает, так это название программы. Не очень часто (но и не запрещено) использовать расширение.4. Большое спасибо за подсказку, я попробовал echo $?, код выхода, который он мне дает, равен 0
5. Реагирует ли процесс на его остановку?
kill -STOP lt;pidgt;
. После этого состояние процесса должно показывать значение T (а потребление процессора должно быть равно нулю). В древние времена у меня были проблемы с драйвером SCSI, который переводил процессы в режим бесперебойного сна (состояние D), не имея другого выбора, кроме перезагрузки. Похоже, что это не относится к вашей проблеме