| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Отсев системных процессов. |
| Автор: En_t_end 17.9.2005, 15:32 |
| Задача стоит следующая... нужно отсеивать системные процессы. Вопрос, имеют ли они особые PID'ы, либо есть ли функция проверяющая системный это процесс или нет по PID'у. |
| Автор: _hunter 17.9.2005, 15:43 |
| а что подразумевается под системным процессом? |
| Автор: En_t_end 17.9.2005, 15:48 |
| _hunter Процесс обслуживающий ядро и другие критические системные процессы. Ещё бы хотелось отсеивать сервисы. |
| Автор: Mayk 17.9.2005, 15:56 |
| Полагаю надо копать в сторону PPID. В частности логично предположить, что приложения запущенные services.exe(запущенный winlogon.exe(запущенный smss.exe(запущненый System(у которого ppid=0)))) есть сервисы |
| Автор: _hunter 17.9.2005, 15:56 |
| тогда можно просто проверить цепочку запусков... процесс System запускает smss.exe он запускает winlogon.exe он services.exe а он уже все сервисы... т.е. если дошел по цепочке до Parent-PID' ов до System -- можно считать процесс системным... ( у сервисов предок -- services.exe ) |
| Автор: En_t_end 17.9.2005, 16:02 |
| OK. Спасибо! |