Я знаю, что вы говорите о мониторинге процессов с помощью модуля ядра Linux.
Но я думаю, что стоит упомянуть модуль python psutil . Даже если это решение пользовательского пространства.
Это очень полный инструмент, который позволяет отслеживать процессы об используемых ими ресурсах, памяти, диске, процессоре.
Некоторые примеры из документации :
Получение загрузки процессора для некоторого процесса
>>> import psutil
>>> p = psutil.Process()
>>> # blocking
>>> p.cpu_percent(interval=1)
2.0
>>> # non-blocking (percentage since last call)
>>> p.cpu_percent(interval=None)
2.9
Получение информации о памяти
>>> import psutil
>>> p = psutil.Process()
>>> p.memory_info()
pmem(rss=15491072, vms=84025344, shared=5206016, text=2555904, lib=0, data=9891840, dirty=0)
И очень интересно open_files
>>> import psutil
>>> f = open('file.ext', 'w')
>>> p = psutil.Process()
>>> p.open_files()
[popenfile(path='/home/giampaolo/svn/psutil/file.ext', fd=3, position=0, mode='w', flags=32769)]
Время создания процесса
>>> import psutil, datetime
>>> p = psutil.Process()
>>> p.create_time()
1307289803.47
>>> datetime.datetime.fromtimestamp(p.create_time()).strftime("%Y-%m-%d %H:%M:%S")
'2011-03-05 18:03:52'
Конечно, вы можете запросить информацию для любого процесса, запущенного в вашей целевой системе, просто укажите pid для psutil.Process
, например: psutil.Process(pid)