PC Help

 Към заглавната страница на PC HelpТърсене


Уроци:

Операционни системи

 

Основни Linux команди
(част 3)

Този урок е предоставен от сайта Linux за начинаещи, автор на самият урок е Stuffy.

Процеси

В сърцевината на Unix е понятието процес. Трябва да го разбирате, за да можете да използвате ефективно системата, дори ако сте обикновен потребител; ако сте системен администратор, това понятие е още по важно.

Процесът преставлява самостоятелно работеща програма със свое собствено множество ресурси. В Unix всички ограничени ресурси на системата като памет и дискове, се управляват от една всесилна програма, наречена ядро. Всичко останало в системата са процеси.

Например, преди да влезете в системата, терминалът ви се наблюдава от процеса getty. След като влезете в системата, процесът getty "умира" и терминалът ви започва да се управлява от командния интерпретатор, който е друг процес. (Когато излезете от системата се стартира нов процес getty.). Всеки път, когато въвеждате команда, командният интерпретатор създава нов процес. Създаването на нов процес се нарича разклоняване, защото един процес се "разделя" на два процеса.

Ако използвате системата X Window, всеки процес стартира един или повече прозорци. Например прозореца, в който пишете команди, е собственост на процеса xterm. Този процес създава нов процес за командния интерпретатор, който работи в прозореца. А командният интерпретатор от своя страна създава още процеси за командите, които въвеждате.

За да видите кои процеси работят в компютъра ви, въведете командата ps. На фигурата е показан типичен резултат от изпълнението на команда ps и значението на отделните полета. Сигурно ще се учудите като разберете колко много процеси използвате, особено ако в момента работи X. Един от процесите е самата команда ps, която разбира се умира веднага след като отпечата показаните данни.

Първото поле във фигурата е уникален идентификатор на процеса. Ако в машината ви работи излишен процес, който не можете да премахнете с клавишната комбинация Ctrl-C или по друг начин, можете да го убиете като в друга виртуална конзола или в нов прозорец под X въведете командата:

$ kill идентификатор-на-процеса
!!!!

Един много-добър пример за това е спиарнето на pppd демона, което е пропуснато в статията на mad_doctor за ppp чрез minicom. Ето това е начина:

$ kill `cat /var/run/ppp0.pid`
!!!!

Полето TTY на фигурата показва номера на терминала, на който работи процесът, ако той използва терминал. (Всеки процес, пуснат от командния интерпретатор, използва терминал, но демоните, които работят във фонов режим, нямат терминал).

Полето STAT показва в какво състояние е процесът. В момента работата на командния интерпретатор временно е преъстановена, затова състоянието му е S (от suspend). Сесията на текстовия редактор Emacs работи, но активната й дейност е прекратена с Crtl-Z, затова в неговото поле STAT пише T На последно място е процесът ps, който генерира тези данни и разбира се, работи, затова в полето му пише R (от running).

Полето TIME показва каква част от времето на централния процесор са използвали показаните процеси. Понеже bash и Emacs са интерактивни, те в съшност не използват много от времето на процесора.

Ако искате да видите всички процеси в системата зададете опция a на ps, а опцията x включва и процесите, които нямат управляващ терминал (например демоните, които се страртират автоматично при зареждане на системата):

$ ps ax | more

Част 1

Част 2

Част 3

Назад


Webmaster