30 – Linux හි ක්‍රියාවලීන් කළමනාකරණය (process management) (3 කොටස)

පසුගිය ලිපි වලින් අප සාකච්චා කලේ process state බලාගන්නා ආකාරයයි. අද එම process කළමනාකරණය (management) සිදු කරන ආකාරය ඉගෙන ගනිමු. ඊට පළමු ව පසුබිම් ක්‍රියාවලියක් (background process) යනු කුමක්දැයි දැන සිටීම වැදගත් ය.

පසුබිම් ක්‍රියාවලීන් (Background Processes)

පසුබිම් ක්‍රියාවලියක් (background process) යනු පරිශීලකයා සමග අන්‍යෝන්‍ය බලපෑමකින් (interaction) තොරව ක්‍රියාත්මක වන ක්‍රියාවලියකි. මෙහිදී ප්‍රධාන වශයෙන් ආකාර දෙකක පසුබිම් ක්‍රියාවලීන් හඳුනා ගත හැකිය. එනම්, මෙහෙයුම් පද්ධතිය (operating system) මගින් ආරම්භ කරනු ලබන background processes සහ පරිශීලකයා (user) විසින් පසුබිමින් ක්‍රියාත්මක කරනු ලබන ක්‍රියාවලීන්ය. මෙහෙයුම් පද්ධතිය මගින් පරිගණකය පණ ගැන්වීමේදී (boot-up) සහ පරිශීලකයෙකු පරිගණකයට ඇතුල්වීමේදී (login) විවිධ අත්‍යවශ්‍ය processes පසුබිමින් ක්‍රියාත්මක කරනු ලබයි. මෙහිදී අප සලකා බලනු ලබන්නේ පරිශීලකයා මගින් ආරම්භ කරනු ලබන background processes පිළිබඳවයි.

සාමාන්‍යයෙන් command line හි විධානයක් (command) ලබාදුන් පසු එය ක්‍රියාත්මක වී අවසන් වනතෙක් (complete) ප්‍රේරකය (prompt) දර්ශනය නොවේ. මේ නිසා ඒ අතරතුර keyboard හරහා වෙනත් විධාන (commands) හෝ ආදානයන් (inputs) ලබාදීමට නොහැකිය. උදාහරණයක් ලෙස command line හි xlogo command (හෝ gedit/kwrite) ක්‍රියාත්මක කල විට කුඩා window එකක් විවෘත (open) වන අතර  prompt එක නැවත දිස්නොවේ. මේ නිසා xlogo (හෝ gedit/kwrite) window එක වසා දමන (close) තුරු වෙනත් commands ලබාදීමට නුපුළුවන. අවශ්‍ය නම් xlogo window වසා දැමීම (close) වෙනුවට command line හිදී යතුරු පුවරුවේ Ctrl + C එබීම කල හැකිය. මෙහිදී අදාළ command එක ක්‍රියාත්මක වීම අතරමග නවතා දැමේ (abort).

xlogo blocked command line
xlogo blocked command line

ඉහත දැක්වූ පරිදි කිසියම් command එකක් මගින් command line අවහිර වීම (block) වලක්වා ගැනීමට commands පසුබිමින් (background) ක්‍රියාත්මක කල හැකිය. මේ සඳහා command name එකට ඉදිරියෙන් & ලෙස type කර command ලබාදිය යුතුය. මෙහිදී command prompt දර්ශනය වීමට පළමු ව අප ලබාදුන් command එකට අදාළ process id (pid) සහ වැඩ අංකය (job number) දැක්වේ. මෙය background process කළමනාකරණය සඳහා ඉතා වැදගත් ය.

xlogo & (non-blocking)
xlogo & (non-blocking)

jobs

Command line හරහා දියත් කල, දැනට පසුබිමින් ක්‍රියාත්මක වන processes බලා ගැනීමට jobs command යොදාගනී. මෙහිදී commands වලට අදාළ state සහ job number ලැයිස්තුවක් ලෙස දැක්වේ. මින් අවසානයට ලබාදුන් background process එකෙහි job number එකට ඉදිරියෙන් + ලෙස දැක්වේ.

jobs command
jobs command

fg (foreground)

Background process එකක් පෙරට (foreground) ගැනීම සඳහා fg භාවිතා කරයි. fg command තනිව ලබාදුන් විට අවසාන background process එක පෙරට ගැනීම සිදුවේ. අපට අවශ්‍ය process එක පෙරට ගැනීම සඳහා fg සමග job number (%n, n=job number) ලබාදිය හැකිය.

fg command
fg command

bg (background)

දැනටමත් foreground හි ක්‍රියාත්මක වන process එකක් background එකට යැවීමට bg command යොදාගනී. නමුත් foreground process මගින් prompt එක අවහිර (block) වන නිසා කෙලින්ම bg command ලබාදීමට නොහැකිය. මේ නිසා පළමු ව අදාළ process එක තාවකාලිකව නැවැත්වීම (stop/pause) කල යුතුය. ඒ සඳහා යතුරු පුවරුවේ Ctrl + Z ඔබන්න. මෙවිට process එක නතර වූ බව දක්වන අතර process එක අප ලබාදෙන ආදාන (inputs) වලට ප්‍රතිචාර නොදක්වයි. xlogo command එකට අදාළ ව window එක විශාල කල ද X අකුරෙහි විශාලත්වය වෙනස් නොවී පැවතීමෙන් මෙය පැහැදිලි වේ. නවත්වා ඇති process එකක් background වෙත යැවීමට bg සමග job number ලබාදෙන්න. තනි process එකක් පමණක් මෙසේ නවත්වා ඇත්නම් job number (%n, n=job number) ලබාදීම අත්‍යාවශ්‍ය නොවේ.

bg command
bg command

රූපක අතුරු මුහුණතක් (Graphical User Interface = GUI) සහිත ක්‍රමලේඛ (programs) දියත් කිරීමේ සාමාන්‍ය ක්‍රමය කෙලින්ම මෙනුව (Menu) හෝ පිවිසුම් තිරයේ කෙටිමගක් (desktop shortcut) භාවිතා කිරීමයි. නමුත් command line හරහා programs ආරම්භ කිරීමේදී දෝෂ පණිවුඩ (error messages) ඇත්නම් ඒවාද බලා ගැනීමට හැකිය. කිසියම් program එකක් GUI මගින් ආරම්භ කිරීමට නොහැකි අවස්ථාවක එයට හේතුව සොයාගැනීමට මෙය ඉතා මහෝපකාරී වේ. පහත දැක්වෙන්නේ GUI තුළ ක්‍රියාත්මක වන Vuze යන ක්‍රමලේඛය command line හරහා දියත් කිරීමේදී දිස්වන තොරතුරු වලින් කොටසකි.

GUI program output message
GUI program output message

2 thoughts on “30 – Linux හි ක්‍රියාවලීන් කළමනාකරණය (process management) (3 කොටස)

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Google photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )