Здравствуйте, мне нужна следующая информация о процессе с некоторым PID:
имя, ppid, состояние, #ofOpenFiles, #ofThreads
Я знаю, что пример файла /proc/pid/stat выглядит так:
15 (Watchdog / 1) S 2 0 0 0 -1 69239104 0 0 0 0 0 69 0 0-100 0 1 0 6 0 0 18446744073709551615 0 0 0 0 0 0 0 0 2147483647 0 18446744073709551615 0 0 17 1 99 1 0 0 0 0 0 0 0 0 0 0 0
Моя текущая попытка разбора такого файла:
FILE *fp;
char buff[255];
fp= fopen("/proc/123/stat", "r");
if(fp == NULL){
}else{
fscanf(fp, "%d %s %c %d %d %d %d %d %u %lu ....", &pid, &name, &ppid......)
fclose(fp);
}
Я не нахожу этот метод очень хорошим. Как это сделать?
/proc
? - person kaylum   schedule 03.01.2016stat
. Просто остановитесь на последнем интересующем вас поле. 2. Для любых полей, которые вам нужно прочитать, но которые вам не нужны, используйте спецификатор формата*
, чтобы игнорировать его, чтобы вам не нужно было указывать переменную для хранения. его значение. - person kaylum   schedule 03.01.2016(
, поэтому синтаксический анализ немного сложнее. - person Nemanja Boric   schedule 24.01.2017/proc/stat/
обновляется с новым временем? - person Chetan Arvind Patil   schedule 10.04.2018msec()
? - person Chetan Arvind Patil   schedule 10.04.2018