Біз кез-келген команданы (мысалы, ping) nohup арқылы бір консольде
іске қосамыз және одан шықпай-ақ процестерге қараймыз:
Қазір ping процесінде 17427 тең PPID (яғни, бұл bash командалық
аудармашысының ұрпағы) және PID17450 бар екенін көреміз.
Енді біз PID 17427-мен Bash командалық аудармашысынан шығып,
процестерді қайта қарастырамыз:
Көріп отырғанымыздай, біз командалық аудармашыдан шыққанымызға
қарамастан, PID17450 процесі жүйеде қалып, ата-ана ретінде қабылданды, PID
1-ге тең процесс, яғни init процесі. 17450 процесі init процесі болғанға дейін
немесе біз оны kill командасының көмегімен аяқтағанға дейін болады.
Kill командасы
Kill бағдарламасы (ағылшын тілінен аударғанда-өлтіру) біз көрсеткен
процеске сәйкес сигналдарды жіберуге арналған. Әдетте, бұл кейбір процестер
жеткіліксіз әрекет ете бастағанда пайда болады. Көбінесе бағдарлама
процестердің орындалуын тоқтату үшін қолданылады. Процесті тоқтату үшін
Сіз процестің PID немесе оның атын білуіңіз керек. Мысалы, 123 процесін
"өлтіру" үшін пәрменді орындаңыз:
kill 123
Бұл жағдайда, әдепкі бойынша, sigterm (терминал, аяқтау) сигналы
процесске жіберіледі. Осы сигналды алған Процесс өз жұмысын дұрыс
аяқтауы керек (пайдаланылған файлдарды жабу, енгізу/шығару буферлерін
қалпына келтіру және т.б.). Әдеттегідей, процесті тоқтату үшін Сіз оның иесі
болуыңыз керек. Әрине, түбірлік пайдаланушы жүйеде кез-келген процесті
тоқтата алады.
Кейде kill бағдарламасының стандартты орындалуы тапсырманы
орындай алмайды. Бұл әдетте бұл процестің қатып қалуымен немесе
операцияны орындауымен түсіндіріледі, оны оның көзқарасы бойынша бірден
тоқтатуға болмайды. Бұл процесті тоқтату үшін келесі пәрменді пайдалануға
болады:
kill -9 123
-9 кілті процестің басқа сигнал түрін-SIGKILL жіберуді көрсетеді. Бұл
процесс дұрыс аяқталмайды, бірақ оның өмірлік белсенділігін дереу
тоқтатады. Осы сигналдардан басқа, сізде әртүрлі сигналдардың жиынтығы
бар. Сигналдардың толық тізімін келесі пәрменді орындау арқылы алуға
болады:
kill -9 123
Сіз сигналдардың тізімін көресіз (64 сигнал):
Killall командасы
Kill бағдарламасының тағы бір нұсқасы. Ол бірдей атаумен процестерді
аяқтау үшін қолданылады. Мысалы, біздің жүйеде mc файл менеджерінің
бірнеше бағдарламасы жұмыс істейді. Осы бағдарламалардың жұмысын бір
уақытта аяқтау үшін пәрменді орындау жеткілікті:
kill all me
Бұл осы команданы қолданумен шектелмейді. Оның көмегімен сіз сол
атаудағы процестер тобына сигналдар жібере аласыз. Осы пәрмен туралы
қосымша ақпарат алу үшін оның man бетіне жүгініңіз.
Nice командасы
Linux операциялық жүйесінде әр процестің өзіндік орындалу
басымдылығы бар. Амалдық жүйе көп функциялы болғандықтан, әр процесті
орындау үшін басымдыққа сәйкес белгілі бір уақыт бөлінеді. Nice
бағдарламасы пәрмен жолында көрсетілген алдын ала анықталған орындалу
басымдылығы бар пәрменді іске қосуға мүмкіндік береді. Қалыпты іске қосу
кезінде барлық тапсырмалар бірдей басымдыққа ие болады және амалдық
жүйе олардың арасындағы процессордың уақытын біркелкі бөледі. Алайда,
nice утилитасын қолдана отырып, кез-келген тапсырманың басымдылығын
төмендетуге болады, осылайша басқа процестерге көбірек процессорлық
уақыт береді.
Тек түбірлік пайдаланушы белгілі бір тапсырманың басымдылығын
арттыруға құқылы. Nice қолдану синтаксисі келесідей:
nice-number command
Процестің басымдық деңгейі number параметрімен анықталады, ал оның
үлкен мәні процестің басымдылығын азырақ білдіреді. Әдепкі мәні — 10. және
number білдіреді саны, ол азайтылуы тиіс басымдық. Мысалы, top процесі -5-
ке тең басымдыққа ие. Процестің басымдылығын онға төмендету үшін біз
келесі пәрменді орындауымыз керек:
nice 10 top
Нәтижесінде top процесі 5-ке тең басымдыққа ие болады. Тек түбірлік
пайдаланушы number параметрінің теріс мәнін қолдана отырып, белгілі бір
процестің басымдығын көтере алады.
Renice командасы
Renice бағдарламасы. Nice бағдарламасынан айырмашылығы, жұмыс
істеп тұрған процестің басымдылығын өзгертуге мүмкіндік береді.
Бағдарламаны іске қосу форматы келесідей:
renice-number PID
Жалпы, renice бағдарламасы niсe сияқты жұмыс істейді. Процестің
басымдық деңгейі number параметрімен анықталады, ал оның үлкен мәні
процестің басымдылығын азырақ білдіреді.
Әдепкі мәні — 10. және number білдіреді саны, ол азайтылуы тиіс
басымдық процесс. Тек түбірлік пайдаланушы number параметрінің теріс
мәнін қолдана отырып, белгілі бір процестің басымдығын көтере алады.
Достарыңызбен бөлісу: