Процессы

Самое краткое определение процесса, которое я встречал звучит так: Процесс — это экземпляр выполняемой программы. Действительно, работающую программу принято называть процессом. Но учтите, что некоторые программы порождают копии себя любимой, значит может быть несколько процессов с одинаковыми именами программ.

Процесс в Linux имеет некоторое количество атрибутов описывающих его. В первую очередь — это его уникальный номер PID. При запуске процесса ему присваивается PID. После завершения работы, процесс освобождает PID и система может его использовать для другого процесса. PID присваиваются по порядку от меньшего значения к большему. Когда достигается верхний предел, система возвращается к началу и выдает PID начиная с первого свободного младшего номера.

В Linux максимальное количество PID равно 32768 (имеется в виду ядро версии 2.6.х. В следующих версиях это значение может быть изменено). Этого значения должно хватить как для рабочей станции так и для серверов. Я себе с трудом представляю как на одном PC совместимом компьютере одновременно будет работать 32 тысячи процессов. Компьютер умрет раньше, чем будет достигнуто такое количество процессов. В реально работающей системе количество процессов гораздо меньше. Например сейчас на моей рабочей машине около 80 процессов. Это достаточно много, но у меня не просто рабочая станция, а небольшой полигон по испытанию различного программного обеспечения. Поэтому в памяти висит много лишнего.