Убить работающий процесс внутри докера

Я бегу 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 {}")

ПОМНИТЕ: эта команда убивает все процессы на графическом процессоре.

Другие вопросы по тегам