BAKI,VOA
Linux terminalında işləyərkən bəzən saatlarca və ya uzun dəqiqələr çəkən tapşırıqlarla (məsələn, böyük bir arxiv faylının sıxlaşdırılması, serverdən iri həcmli faylın yüklənməsi və ya verilənlər bazasının ehtiyat nüsxəsinin çıxarılması) qarşılaşırıq. Əgər belə bir komandanı standart qaydada işə salsanız, terminal həmin proses bitənə qədər məşğul olacaq və siz başqa heç bir əmr yaza bilməyəcəksiniz. Hətta terminal pəncərəsini bağlasanız, həmin iş də yarıda kəsiləcək. Linux çoxlayihəli (multitasking) bir sistem olduğu üçün bu cür uzun prosesləri arxa plana keçirmək və terminaldan istifadəyə davam etmək üçün çox rahat alətlər təqdim edir. Bu məqalədə biz proseslərin idarə edilməsinin incəliklərini öyrənəcəyik.
1. Komandanı birbaşa arxa planda başlatmaq: & simvolu
Əgər yazacağınız komandanın uzun çəkəcəyini əvvəlcədən bilirsinizsə, komandanın ən sonuna & (ampersand) simvolunu əlavə edərək onu birbaşa arxa planda işə sala bilərsiniz.
İstifadəsi: tar -czvf böyük_arxiv.tar.gz /var/www/ &
Nəticə: Komanda işə düşən kimi terminal sizə prosesin Job ID (iş nömrəsi) və PID (proses kimliyi) rəqəmlərini göstərəcək və dərhal yeni komanda yazmağınız üçün sətri azad edəcək.
2. İşləyən prosesi dondurmaq və arxa plana atmaq: Ctrl + Z və Bg
Əgər bir komandanı artıq başlatmısınızsa və onun uzun çəkəcəyini sonradan anlayıb terminalı azad etmək istəyirsinizsə, bu addımları izləməlisiniz:
Adım 1 (Dondurmaq): Klaviaturada Ctrl + Z düymələrini sıxın. Bu əmr prosesi ləğv etmir, sadəcə onu olduğu yerdə müvəqqəti olaraq dayandırır (Stop/Suspend).
Adım 2 (Arxa planda davam etdirmək): Terminalda bg (background) komandasını yazın. Dayandırılmış proses dərhal arxa planda işinə davam edəcək və terminalınız istifadəyə açıq qalacaq.
3. Arxa plandakı işlərin siyahısını görmək: Jobs komandası
Hal-hazırda arxa planda dondurulmuş və ya aktiv şəkildə çalışan bütün işləri siyahılamaq üçün jobs komandasından istifadə olunur.
İstifadəsi: jobs
Ekranda [1]+ Running tar -czvf... kimi bir siyahı çıxacaq. Buradakı Mötərizə içindəki rəqəm ([1]) həmin işin nömrəsidir (Job ID).
4. Arxa plandakı işi ön plana gətirmək: Fg komandası
Arxa planda çalışan bir prosesi təkrar ekrana gətirmək və onunla birbaşa qarşılıqlı əlaqədə olmaq üçün fg (foreground) komandası istifadə olunur.
Sonuncu işi ön plana gətirmək: fg
Xüsusi bir işi ön plana gətirmək: fg %1 (1 nömrəli Job ID-yə sahip prosesi ekrana qaytarır).
Sistem adminləri üçün qızıl məsləhətlər
Terminal bağlansa da iş davam etsin: Nohup komandası Arxa plana atdığınız proseslər terminal pəncərəsini bağladıqda bəzən avtomatik olaraq sönə bilər. Əgər terminalı bağlasanız bile prosesin serverdə çalışmasını istəyirsinizsə, komandanın əvvəlinə nohup əlavə edin: nohup python3 skript.py &
Ctrl + C və Ctrl + Z fərqi: Ctrl + C prosesi tamamilə öldürür və silir. Ctrl + Z isə prosesi öldürmür, sadəcə pauza rejiminə keçirir. Bu iki düyməni bir-biri ilə qarışdırmamaq çox vacibdir.