Внутри C-программы я построчно читаю вывод / bin / ps -fu1000 и ищу строку, например "gnome".
Когда я нашел строку (гном), как я могу получить pid?
Вся строка сохраняется в символьном буфере [256].
cm 12556 1 0 10:47 ? 00:00:13 gnome-terminal
... и да, это часть домашней работы.
Прочитав некоторые комментарии:
Мне пришлось использовать C. Цель задачи - написать программу, которая будет отправлять сигналы запущенным процессам, содержащую указанную строку в своем имени.
Мой подход такой:
fp = popen("/bin/ps -fu1000", "r");
while(fgets(line, sizeof line, fp)){
if(strstr(line, "gnome")){
printf("found\n");
/* do some nice stuff to get the PID */
}
}