4-mavzu: Shell interpretatorida ishlashi Reja



Yüklə 0,85 Mb.
Pdf görüntüsü
səhifə8/14
tarix08.05.2023
ölçüsü0,85 Mb.
#109632
1   ...   4   5   6   7   8   9   10   11   ...   14
4-ma\'ruza (1)

4.3. Jarayonlar
Jarayon strukturasi
13
Fayl strukturasiga o‘xshab jarayon strukturasi ham onalari, bolalari va
hatto root ierarxikdir. Ona jarayon o‘z navbatida boshqa jarayonlarga bo‘linuvchi
bola jarayonga bo‘linadi.(Bo‘linish (fork) so‘zi, yo‘llarning bo‘linishi kabi bir
jarayonni ikkitaga aylanishini bildiradi. Avval ikkita fork biri ona, biri bola
bo‘lishidan tashqari bir xil bo‘ladi.) Yangi jarayonlar yaratuvchi operatsion tizim
kundalik ishi(rutinasi) yoki tizim chaqiruvi (system call) fork deb nomlanadi.
Tizim boshlanganda, Linux ijroni boshlaganda u 1 raqamli PID bilan
initsalizatsiyani, spontan (ixtiyoriy) jarayon deb nomlanuvchi yagona jarayonni
boshlaydi. Bu jarayon jarayon strukturasida root direktoriyasi fayl strukturasida
egallagandek pozitsiyani egallaydi: Bu tizim va foydalanuvchilar ishlaydigan
hamma jarayonlarning ajdodidir. Tizim multifoydalanuvchi rejimida ishlaganida
init getty yoki mingetty jarayonlarini ishga tushiradi (loginni ko‘rsatadi: terminal
13
A Practical Guide to Fedora and Red Hat Enterprise Linux, fifth edition, Mark G. Sobell,
U.S. Corporate and Government Sales, pages 314-318.



va virtual konsoldagi yordam). Kimdir yordamga javob berib RETURNni
bosganda getty foydalanuvchi nomi va parol kombinatsiyasini tekshiruvchi, login
deb nomlanuvchi utilita ustidan nazoratni o‘z qo‘liga oladi. Foydalanuvchi
kirgandan keyin login jarayoni foydalanuvchining shell jarayoniga aylanadi.
Jarayon identifikatsiyasi
Linux har bir jarayonning boshida unikal PID (process identification-
jarayon identifikatsiyasi) raqam o‘rnatadi. Qancha uzoq muddat jarayon mavjud
bo‘lsa, u shuncha payt bir xil PID raqamga ega bo‘ladi. Bitta seans davomida bir
xil jarayon har doim login shellini bajaradi. Yangi jarayonni bo‘layotganingizda,
masalan, tahririlovchidan foydalanilganda yangi (bola) jarayonning PID raqami
uning ona jarayoninikidan turlicha bo‘ladi.Siz login shellga qaytib kirganingizda,
boshida kirganingizdagi huddi o‘sha jarayon, huddi o‘sha PID raqam bilan
bajarilayotgan bo‘ladi. Quyidagi misol ishlayotgan ps jarayon shell (ona)
jarayonidan bo‘linib chiqganini ko‘rsatadi(242-bet). Siz uni –f parametri orqali
chaqirganingizda ps har bir jarayon haqidagi ma‘lumotning to‘liq ro‘yxatini
ko‘rsatadi. PS displeyi qatori bilan CMD ustunidagi bash ishlayotgan shell
jarayoniga qaraydi. PID deb nomlangan ustun PID raqamni aniqlaydi. PPID deb
nomlangan ustun ona jarayon PID raqamini aniqlaydi. PID va PPID ustunlaridan
ishlayotgan shell jarayoni (PID 21341) sleep rejimidagi jarayonning (PID 22789)
onasi ekanligini ko‘rishimiz mumkin. Sleepning ona PID raqami shellning PID
raqami (21341) bilan bir xil bo‘ladi.
sleep 10 &
[1] 22789
ps -f
UID PID PPID C STIME TTY TIME CMD
alex 21341 21340 0 10:42 pts/16 00:00:00 bash
alex 22789 21341 0 17:30 pts/16 00:00:00 sleep 10
alex 22790 21341 0 17:30 pts/16 00:00:00 ps -f
ps man buyrug‘i ps to‘g‘risidagi ma‘lumotlarni sahifaga chiqaradi va –f
qo‘shimchasi bilan ustunlar ko‘rinishida chiqaradi. Ikkinchi sleep va ps-f
komandalar juftligi shell haligacha o‘sha-o‘sha jarayonni ishga tushirayotganini,
ammo u sleepni ishga tushirish uchun boshqa jarayonga bo‘linishini ko‘rsatadi.
sleep 10 &
[1] 22791
ps -f
UID PID PPID C STIME TTY TIME CMD
alex 21341 21340 0 10:42 pts/16 00:00:00 bash
alex 22791 21341 0 17:31 pts/16 00:00:00 sleep 10



alex 22792 21341 0 17:31 pts/16 00:00:00 ps –f
Shuningdek, siz jarayonlarning ona-bola aloqalarini pstree(yoki –e
parametri (
option
) bilan yoki usiz ps --forest)dan foydalangan holda ko‘rishingiz
mumkin. Keyingi misol PID raqamini ko‘rsatish uchun chaqiruvchi pstree dagi –p
parametrini ko‘rsatadi:
pstree -p
init(1)-+-acpid(1395)
|-atd(1758)
|-crond(1702)
...
|-kdeinit(2223)-+-firefox(8914)---run-mozilla.sh(8920)---firefox-bin(8925)
| |-gaim(2306)
| |-gqview(14062)
| |-kdeinit(2228)
| |-kdeinit(2294)
| |-kdeinit(2314)-+-bash(2329)---ssh(2561)
| | |-bash(2339)
| | '-bash(15821)---bash(16778)
| |-kdeinit(16448)
| |-kdeinit(20888)
| |-oclock(2317)
| '-pam-panel-icon(2305)---pam_timestamp_c(2307)
...
|-login(1823)---bash(20986)-+-pstree(21028)
| '-sleep(21026)
...
Oldingichiqishqisqartiriladi. –
kdeinitbilanboshlanuvchiqatorgrafikfoydalanuvchiishgatushirayotganbarchajarayo
nlarni, shuqatordafirefox, gaimvaoclocklarniko‘rsatadi. –
loginbilanboshlanuvchiqator matnli foydalanuvchi pstree ni ishchi fonda ishga
tushirayotgan vaqtda, sleepni orqa fonda ishga tushirishini ko‘rsatadi.

Yüklə 0,85 Mb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin