Rose debug info
---------------

Подписка на блог

Customize in /user/extras/subscribe-sheet.tmpl.php.

Sample text.

Twitter, Facebook, VK, Telegram, LinkedIn, Odnoklassniki, Pinterest, РСС JSON Feed

Sample text.

Получить идентификаторы процессов, принадлежащих пользователю

Вывести информацию о всех выполняющихся процессах можно с помощью UNIX-команды ps aux:

Теперь проведем фильтрацию с помощью Python (мы же питонисты!).

Для начала необходимо понять, каким образом результат командной оболочки ОС преобразуется в типы данных Python:

Получили тип данных (класс), встроенный в IPython.

Внимательно изучаем документацию.

Читаем, что IPython.utils.text.SList наследуется от класса list и является обычным списком с несколькими атрибутами.

Нам может пригодиться метод grep для поиска по шаблону:

и метод fields для выбора определенных столбцов, разделенных пробелом:

Теперь можем перейти к получению PID’ов для заданного пользователя.

Из нулевого столбца выберем все строки, где встречается имя пользователя (0) и оставим столбец (1) с идентификатором процесса:

Более элегантное решение (в gpep для этого указывается аргумент — столбец, по которому производится поиск):

см. код в блокноте Jupyter.

Подписаться на блог
Поделиться
Отправить
Запинить
 23   8 мес   Linux   Python
Дальше