3.1.1. Идентификаторы процессов
3.1.1. Идентификаторы процессов
Каждый процесс в Linux помечается уникальным идентификатором (PID, process identifier). Идентификаторы — это 16-разрядные числа, назначаемые последовательно по мере создания процессов.
У всякого процесса имеется также родительский процесс (за исключением специального демона init, о котором рассказывается в разделе 3.4.3, "Процессы-зомби"). Таким образом, все процессы Linux организованы в виде древовидной иерархии, на вершине которой находится процесс init. К атрибутам процесса относится идентификатор его предка (PPID, parent process identifier).
Работая с идентификаторами процессов в программах, написанных на языках С и C++, следует объявлять соответствующие переменные как имеющие тип pid_t (определен в файле <sys/types.h>). Программа может узнать идентификатор своего собственного процесса с помощью системного вызова getpid(), а идентификатор своего родительского процесса — с помощью вызова getppid(). В листинге 3.1 показано, как это сделать.
Листинг 3.1. (print-pid.c) Вывод идентификатора процесса
#include <stdio.h>
#include <unistd.h>
int main() {
printf("The process ID is %d ", (int)getpid());
printf("The parent process ID is %d ", (int)getppid());
return 0;
}
Обратите внимание на важную особенность: при каждом вызове программа сообщает о разных идентификаторах, поскольку всякий раз запускается новый процесс. Тем не менее, если программа вызывается из одного и того же интерпретатора команд, то родительский идентификатор оказывается одинаковым.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Идентификаторы
Идентификаторы Идентификаторами называются имена, которые обозначают переменные, функции и объекты. Некоторые имена являются ключевыми или зарезервированными и не могут использоваться в качестве идентификатора, так как имеют особый смысл. О них будет рассказано
Идентификаторы процессов
Идентификаторы процессов Процесс может получить идентификатор и дескриптор нового дочернего процесса из структуры PROCESS_INFORMATION. Разумеется, закрытие дескриптора дочернего процесса не приводит к уничтожению самого процесса; становится невозможным лишь доступ к нему со
Идентификаторы безопасности
Идентификаторы безопасности Для идентификации пользователей и групп Windows использует идентификаторы SID. Программа может отыскивать SID по учетному имени (account name), которое может относиться к пользователю, группе, домену и так далее. Учетное имя может относиться и к
Идентификаторы процесса
Идентификаторы процесса Вы уже знаете, что каждый процесс характеризуется набором атрибутов и идентификаторов, позволяющих системе управлять его работой. Важнейшими из них являются идентификатор процесса PID и идентификатор родительского процесса PPID. PID является именем
Идентификаторы и имена в IPC
Идентификаторы и имена в IPC Как было показано, отсутствие имен у каналов делает их недоступными для независимых процессов. Этот недостаток устранен у FIFO, которые имеют имена. Другие средства межпроцессного взаимодействия, являющиеся более сложными, требуют
3.3. Идентификаторы пользователя и группы
3.3. Идентификаторы пользователя и группы Система Linux чем-то похожа на монархическое государство: в нем существует один суперпользователь — root, которому все подчиняется, и определенное число обыкновенных пользователей. Это значит, что если вы попробуете удалить один из
Идентификаторы приложений
Идентификаторы приложений В версии COM под Windows NT 4.0 введено понятие приложений COM (COM applications). Приложения COM идентифицируются с помощью GUID (называемых в этом контексте AppID – идентификаторы приложения) и представляют серверный процесс для одного или более классов. Каждый CLSID
R.2.3 Идентификаторы
R.2.3 Идентификаторы Идентификатор - это последовательность букв и цифр произвольной длины. Первый символ должен быть буквой, символ подчеркивания _ считается буквой. Прописные и строчные буквы различаются. Все символы
Идентификаторы
Идентификаторы Идентификаторы – это имена констант, переменных, типов, свойств, процедур, функций, программ и программных модулей. Могут быть длиной до 255 символов, начинаться с символа или знака подчеркивания; могут содержать символы, цифры и знаки подчеркивания и не
Идентификаторы
Идентификаторы Идентификаторы — это имена переменных, функций и меток, используемых в программе. Идентификатор вводится в объявлении переменной или функции, либо в качестве метки оператора. После этого его можно использовать в последующих операторах программы.
Идентификаторы
Идентификаторы Идентификаторы именуют переменные и функции. С каждым идентификатором ассоциируется тип, который задается при его объявлении. Значение объекта, именуемого идентификатором, зависит от типа следующим образом:1) Идентификаторы переменных целого и
Идентификаторы с разделителями в SQL-92
Идентификаторы с разделителями в SQL-92 В базах данных диалекта 3 Firebird поддерживает соглашение ANSI SQL о необязательных идентификаторах с разделителями. Для использования зарезервированных слов, строк, чувствительных к регистру, или пробелов в именах объектов заключите имя
Идентификаторы объектов
Идентификаторы объектов При принятии решения об использовании данного сертификата для конкретной цели и доверии к нему пользователь может ориентироваться на указатель ППС в сертификате формата X.509 версии 3. Таким указателем, характеризующим политику применения