Рейтинг:1

Уничтожение всех процессов Python, использующих любой из графических процессоров

флаг gb

У меня есть следующее, и я не хочу вводить PID каждого процесса Python, который использует любой из графических процессоров один за другим. Как я могу это сделать?

+--------------------------------------------- ----------------------------+
| Процессы: |
| GPU GI CI PID Тип Имя процесса Память GPU |
| ID Использование ID |
|================================================ =============================|
| 0 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2722 G /usr/bin/X 9MiB |
| 0 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2971 G /usr/bin/gnome-shell 6MiB |
| 0 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 0 Н/Д Н/Д 21616 C python3.8 137 МБ |
| 1 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 1 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 1 Н/Д Н/Д 21616 C python3.8 137 МБ |
+--------------------------------------------- ----------------------------+

Обновление: я использовал оба убить всех и убитьвсего питона3.8 и ни один не работал:

[jalal@goku ~]$ nvidia-smi
Чт 10 июн 19:29:19 2021       
+--------------------------------------------- ----------------------------+
| NVIDIA-SMI 460.67 Версия драйвера: 460.67 Версия CUDA: 11.2 |
|-------------------------------+---------------- -----+----------------------+
| Имя GPU Persistence-M| Bus-Id Disp.A | Летучий некорр. ЕСК |
| Мощность вентилятора Temp Perf:Использование/Ограничение| Использование памяти | GPU-Util Compute M. |
| | | МИГ М. |
|===============================+================= =====+======================|
| 0 GeForce GTX 108... Выкл. | 00000000:05:00.0 Выкл | Н/Д |
| 0% 35C P2 59 Вт / 250 Вт | 843 МБ / 11178 МБ | 0% По умолчанию |
| | | Н/Д |
+---------------------------------------------+---------------- -----+----------------------+
| 1 GeForce GTX 108... Выкл. | 00000000:06:00.0 Выкл | Н/Д |
| 0% 37C P2 61 Вт / 250 Вт | 826 МБ / 11178 МБ | 0% По умолчанию |
| | | Н/Д |
+---------------------------------------------+---------------- -----+----------------------+
                                                                               
+--------------------------------------------- ----------------------------+
| Процессы: |
| GPU GI CI PID Тип Имя процесса Память GPU |
| ID Использование ID |
|================================================ =============================|
| 0 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2722 G /usr/bin/X 9MiB |
| 0 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2971 G /usr/bin/gnome-shell 6MiB |
| 0 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 0 Н/Д Н/Д 21616 C python3.8 137 МБ |
| 1 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 1 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 1 Н/Д Н/Д 21616 C python3.8 137 МБ |
+--------------------------------------------- ----------------------------+
[jalal@goku ~]$ killall python3.8
[jalal@goku ~]$ nvidia-smi
Чт Июн 10 19:29:26 2021       
+--------------------------------------------- ----------------------------+
| NVIDIA-SMI 460.67 Версия драйвера: 460.67 Версия CUDA: 11.2 |
|-------------------------------+---------------- -----+----------------------+
| Имя GPU Persistence-M| Bus-Id Disp.A | Летучий некорр. ЕСК |
| Мощность вентилятора Temp Perf:Использование/Ограничение| Использование памяти | GPU-Util Compute M. |
| | | МИГ М. |
|===============================+================= =====+======================|
| 0 GeForce GTX 108... Выкл. | 00000000:05:00.0 Выкл | Н/Д |
| 0% 35C P2 59 Вт / 250 Вт | 843 МБ / 11178 МБ | 0% По умолчанию |
| | | Н/Д |
+---------------------------------------------+---------------- -----+----------------------+
| 1 GeForce GTX 108... Выкл. | 00000000:06:00.0 Выкл | Н/Д |
| 0% 37C P2 62 Вт / 250 Вт | 826 МБ / 11178 МБ | 0% По умолчанию |
| | | Н/Д |
+---------------------------------------------+---------------- -----+----------------------+
                                                                               
+--------------------------------------------- ----------------------------+
| Процессы: |
| GPU GI CI PID Тип Имя процесса Память GPU |
| ID Использование ID |
|================================================ =============================|
| 0 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2722 G /usr/bin/X 9MiB |
| 0 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 0 Н/Д Н/Д 2971 G /usr/bin/gnome-shell 6MiB |
| 0 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 0 Н/Д Н/Д 21616 C python3.8 137 МБ |
| 1 Н/Д Н/Д 1831 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2266 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2612 C python3.8 137 МБ |
| 1 Н/Д Н/Д 2758 C python3.8 137 МБ |
| 1 Н/Д Н/Д 20403 C python3.8 137 МБ |
| 1 Н/Д Н/Д 21616 C python3.8 137 МБ |
+--------------------------------------------- ----------------------------+
[jalal@goku ~]$ killall
Использование: killall [-Z КОНТЕКСТ] [-u ПОЛЬЗОВАТЕЛЬ] [ -eIgiqrvw ] [ -SIGNAL ] ИМЯ...
       убить всех -l, --list
       killall -V, --версия

  -e,--exact требует точного соответствия для очень длинных имен
  -I,--игнорировать совпадение имени процесса без учета регистра
  -g,--process-group убить группу процессов вместо процесса
  -y,--моложе-чем убить процессы моложе TIME
  -o,--older-than убить процессы старше TIME
  -i,--интерактивный запрос подтверждения перед убийством
  -l,--list перечислить все известные имена сигналов
  -q,--quiet не печатать жалобы
  -r,--regexp интерпретировать NAME как расширенное регулярное выражение
  -s,--signal SIGNAL отправить этот сигнал вместо SIGTERM
  -u,--user ПОЛЬЗОВАТЕЛЬ убить только процессы, работающие от имени ПОЛЬЗОВАТЕЛЯ
  -v,--подробный отчет, если сигнал был успешно отправлен
  -V,--version вывести информацию о версии
  -w,--подождите, пока процессы не умрут
  -Z, --context REGEXP убить только процессы, имеющие контекст
                      (должно предшествовать другим аргументам)
guiverc avatar
флаг cn
Одна из причин, по которой мне нравится killall, но я не очень понимаю ваш вопрос, так как вы тоже пытаетесь убить gnome-shell? (вы это перечислили)
terdon avatar
флаг cn
Какая команда дает вам этот вывод? Какой из этих процессов вы хотите убить?
Mona Jalal avatar
флаг gb
дело именно в том, чтобы не убивать gnome-shell, а только убивать процессы python без ввода их PID @guiverc
guiverc avatar
флаг cn
Как я уже говорил в первой похвале; В этом примере я бы использовал killall или killall python3.8. Используйте `man killall`, чтобы прочитать ваши варианты (которых много, включая использование шаблонов). Поскольку я не знаю, какой была ваша паста, я не знаю, нужно ли вам настраивать команду
Mona Jalal avatar
флаг gb
@guiverc, пожалуйста, проверьте обновленный пост
guiverc avatar
флаг cn
Извините, я не знаю, что показывает `nvidia-smi`, и используемые в настоящее время ящики - все AMD, поэтому я не могу исследовать, что это, вероятно, ... поэтому не могу помочь с тем, как интерпретировать то, что он на самом деле показывает, и, следовательно, требуемый вариант, который вы понадобится (ответ может быть только путь, например, `/usr/bin/python3.8`; но я не знаю `nvidia-smi`, извините; я бы сам использовал `ps`.
Рейтинг:0
флаг gb
$ killall -9 питон3.8

Здесь SIGKILL (9) заставит его выйти.

Кредиты ВГ9т

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.