Найти - Пользователи
Полная версия: Как получить названия запущенных процессов в линуксе?
Начало » Python для новичков » Как получить названия запущенных процессов в линуксе?
1
ivanzzz
Как получить список имен запущенных процессов? Вообще в терминале это делается через ps -a, но парсить результат нет никакого желания. Есть что по адекватнее?
JOHN_16
сторонний модуль psutil
ivanzzz
А с помощью встроенных можно как нибудь?
ZerG
To list processes involving firefox in Python:

import os
os.system('ps ax | grep firefox | grep -v grep | awk \'{print $1}\')

To kill processes involving firefox in Python:

import os
os.system('kill $(ps ax | grep firefox | grep -v grep | awk \'{print $1}\')')


doza_and
ivanzzz
А с помощью встроенных можно как нибудь?
:) Конечно можно. С помощью встроенных сделаны все сторонние модули. Правда по началу “свои” сторонние модули получаются гораздо хуже “чужих”.
Rodegast
>>> import os
>>> for x in ( "/proc/"+x+"/comm" for x in os.listdir("/proc/") if os.path.isdir("/proc/"+x) ):
...     if os.path.isfile(x):
...         print open(x).read()
ZerG
Rodegast
доступ к етим дирам может запросить привелегий - ps же запустится
Rodegast
> доступ к етим дирам может запросить привелегий - ps же запустится

Эти “диры” всегда доступны для чтения. Ты думаешь откуда ps информацию о процессах берёт?
ZerG
–# ls -la / |grep proc
dr-xr-xr-x 460 root root 0 мар 3 14:16 proc
Rodegast
ZerG
Ну вот теперь ты сам видишь что в каталог есть доступ каждому.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB