Убить работающий процесс внутри докера
Я бегу find
команда на очень большую папку внутри моего докера, и теперь она застряла более часа.
Я пытался kill -9
процесс, и убить контейнер докера с docker kill <containerid>
, но ничто не помогает ему двигаться. Я не могу больше запускать команды внутри докера. Хозяин очень отзывчивый.
Статус процесса R
(Бег). Я не могу strace
это (стрейс застрял), и kill -9
не имеет никакого влияния на это.
Я пытался посмотреть /proc/PID/status
файл, он показывает:
State: R (running)
[...]
voluntary_ctxt_switches: 2387
nonvoluntary_ctxt_switches: 29121
Два последних числа растут довольно быстро.
Меня не очень заботит этот докер-контейнер или результат команды find, но я забочусь о других контейнерах на том же хосте.
Есть ли способ обнулить процесс или контейнер без перезагрузки хоста?
1 ответ
когда вы собираете Docker, используйте эту команду:
RUN apt-get install lsof
тогда в файле py вы можете использовать:
os.system("lsof /dev/nvidia* | awk '{print $2}' | xargs -I {} kill {}")
ПОМНИТЕ: эта команда убивает все процессы на графическом процессоре.