Linux процеси, система, ядро, помощни програми, статии, Linux Center Library, - Linux Expert и

Сухата формулировка ни казва това процес е набор от програмен код и данни, заредени в паметта на компютъра. На пръв поглед процесът е работеща програма (приложение) или команда. Но това не е така. Някои приложения могат да създават множество процеси едновременно.

Кодът на процеса не трябва да се изпълнява в момента, тъй като процесът може да бъде в спящо състояние. В този случай изпълнението на кода на такъв процес се спира. Има само 3 състояния, в които процесът може да бъде:

Работен процес - процесният код в момента се изпълнява.

Процес на сън - в момента процесният код не се изпълнява, докато се чака някакво събитие (натискане на клавиш на клавиатурата, получаване на данни от мрежата и т.н.)

Зомби процес - самият процес вече не съществува, неговият код и данни са извадени от RAM, но записът в таблицата на процеса остава по една или друга причина.

-a или -e - покажете всички процеси

-е - пълен списък

-w - показва редове с пълно описание на процеса. Ако са по-добри
дължина на екрана, след което преместете описанието на следващия ред.

Това не са всички опции за командата ps. Можете да разберете останалите параметри, като просто напишете man ps.

Пример 1:

[gserg @ WEBMEDIA gserg] $ ps

PID TTY TIME CMD

3126 точки/2 00:00:00 баш

3158 точки/2 00:00:00 ps

Пример2:

[gserg @ WEBMEDIA gserg] $ ps 3126

PID TTY СЪСТОЯНИЕ НА КОМАНДА

3126 точки/2 S 0:00/кош/баш

Пример3:

[gserg @ WEBMEDIA gserg] $ ps -ef

UID PID PPID C STIME TTY TIME CMD

корен 1 0 0 10:01? 00:00:03 init [5]

корен 2 1 0 10:01? 00:00:00 [keventd]

корен 3 1 0 10:01? 00:00:00 [kapmd]

корен 4 1 0 10:01? 00:00:00 [ksoftirqd_CPU0]

корен 5 1 0 10:01? 00:00:24 [kswapd]

корен 6 1 0 10:01? 00:00:00 [bdflush]

gserg 3126 3124 0 17:56 точки/2 00:00:00/bin/bash

gserg 3160 3126 0 17:59 точки/2 00:00:00 ps -ef

Пример4:

[gserg @ WEBMEDIA gserg] $ ps -efw

UID PID PPID C STIME TTY TIME CMD

корен 1 0 0 10:01? 00:00:03 init [5]

корен 2 1 0 10:01? 00:00:00 [keventd]

корен 3 1 0 10:01? 00:00:00 [kapmd]

корен 4 1 0 10:01? 00:00:00 [ksoftirqd_CPU0]

корен 5 1 0 10:01? 00:00:24 [kswapd]

корен 1130 1 0 10:02? 00:00:00/usr/sbin/apmd -p 10 -w 5 -W -P/etc/sysconfig/apm-scripts/apmd_proxy

gserg 3172 3126 0 18:01 точки/2 00:00:00 ps -efw

Процесите в Linux имат същите права като потребителя, от чието име е стартиран процесът.

Всъщност операционната система възприема работещия в нея потребител като набор от процеси, стартирани от негово име. В крайна сметка самата сесия на потребителя се отваря в командната обвивка (или X черупка) от името на потребителя. Следователно, когато казваме „права на потребителски достъп до файл“, имаме предвид „права на достъп на процеси, изпълнявани от името на потребителя до файла“.

За да определи името на потребителя, стартирал процеса, използва операционната система реални идентификатори на потребители и групи, възложени на процеса. Тези идентификатори обаче не са критични при определяне на правата за достъп. За да направите това, всеки процес има различна група идентификатори. - ефективно.