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 черупка) от името на потребителя. Следователно, когато казваме „права на потребителски достъп до файл“, имаме предвид „права на достъп на процеси, изпълнявани от името на потребителя до файла“.
За да определи името на потребителя, стартирал процеса, използва операционната система реални идентификатори на потребители и групи, възложени на процеса. Тези идентификатори обаче не са критични при определяне на правата за достъп. За да направите това, всеки процес има различна група идентификатори. - ефективно.