Книга: Программирование для Linux. Профессиональный подход

Листинг 7.2. (get-pid.c) Получение идентификатора процесса из файла /proc/self

Листинг 7.2. (get-pid.c) Получение идентификатора процесса из файла /proc/self

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
/* Определение идентификатора вызывающего процесса
   на основании символической ссылки /proc/self. */
pid_t get_pid_from_proc_self() {
 char target[32];
 int pid;
 /* Чтение содержимого символической ссылки. */
 readlink("/proc/self", target, sizeof(target));
 /* Адресатом ссылки является каталог, имя которого соответствует
    идентификатору процесса. */
 sscanf(target, "%d", &pid);
 return (pid_t)pid;
}
int main() {
 printf("/proc/self reports process id %dn",
  (int)get_pid_from_proc_self());
 printf("getpid() reports process id %dn", (int)getpid());
 return 0;
}

Оглавление книги


Генерация: 1.337. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз