Я хочу создать программу, которая регистрирует все процессы, запущенные пользователем, и подтверждает их запуск. Я не хочу регистрировать все системные вызовы и другие процессы-демоны. Я изначально проверил auditctl и ausearch в пакете auditd , а также acct но они очень медленные и предоставляют гораздо больше информации, чем мне нужно. Я хочу что-то вроде ps (который сообщает снимок текущих процессов).

В настоящее время я использую Ubuntu 12.04 LTS на AMD X2 и на двухъядерном процессоре Intel. Спасибо!

1 ответ1

0

Поскольку вы не указали язык программирования для своей программы, я рекомендую использовать Python. Есть несколько способов узнать текущие запущенные процессы:

a) Используйте модуль подпроцесса, чтобы вызвать ps, а затем проанализировать его вывод. Это не красиво, но это может быть сделано.

б) Используйте сторонний модуль Python, такой как psutil или psi.

c) Поскольку вы используете Linux, вы можете посмотреть на файловую систему /proc:

import os
pids= [pid for pid in os.listdir('/proc') if pid.isdigit()]
for pid in pids:
    print open(os.path.join('/proc', pid, 'cmdline'), 'rb').read()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .