Убить работающий процесс внутри докера
Я бегу 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 {}")
ПОМНИТЕ: эта команда убивает все процессы на графическом процессоре.