2014-02-19

ලිනක්ස් Shell Programming පාඩම-කොටස 13



    26.Filter පෙරන වැඩ.
          සාමාන්‍යයෙන් පෙරන්නෙ මොකටද කියල දන්නවනෙ ? අවශ්‍ය දේවල් විතරක් ගන්න ඕන උනාමනෙ අපි පෙරීමක් සිදු කරන්නෙ මේකත් ඒ වගේ දෙයක් තමයි.මේ ගැන වෙනම පාඩමකින් කියලදෙන්නම්.

27.Processes එකක් කියන්නෙ මොකද්ද ?
ඇත්තටම Processes එකක් කියල කියන්නෙ යම් කිසි කියාවලියකට. අපිට ls කියන කමාන්ඩ් එක use කරල ඩිරෙක්ටරි එකක තියෙන දේවල් බලා ගන්න පුලුවන්. ls කමාන්ඩ් එක මගින් ඉල්ලා සිටිනව කම්පියුටර් එකෙන් files හා folders පෙන්නා දෙන්න කියල . සරලවම මේකත් process එකක් කියල කියන්න පුලුවන්. මේ නිසා Processes එකක් program එකක් විදියට හදුන්වන්න පුලුවන් (user දීපු කමාන්ඩ් එකක් ). අපි කමාන්ඩ් එකක් මගින් බලාපොරොත්තු වෙන්නෙ මොකක් හරි විශේෂිත වැඩක් කරගන්නනෙ කමාන්ඩ් එක රන් කරාම ඒකට අදාල process එක සිද්ධ වෙලා අපට ඕන උන දේ සිද්ධ වෙනව.ලිනක්ස් වලදි මොනව හරි process එකක් සිද්ධ වෙනකොට ඒ process එකට නම්බර් එකක් දෙන සිරිතක් තියෙනව. මේ නම්බර් එක process-id එක එහෙම නැත්තම් PID කියල කියල හදුන්වනව. 0 ඉඳල 65535 අතරෙ ඉලක්කමක් තමයි PID එක සඳහා ලබා දෙන්නෙ. එක කමාන්ඩ් එකකට ලබාදෙන pid අගය එක එක වෙලාවල් වලට වෙනස් වෙනව.ඉස්සරහට තවත් මේ ගැන කතා කරනව.
  1. Processes කියන ඒව අවශ්‍ය වෙන්නෙ ඇයි.
දන්නවනෙ ලිනක්ස් කියන්නෙ multi-user, multitasking Os එකක් කියල.ඒ කිව්වෙ එක පාරකට users ල ගොඩ දෙනෙකුට use කරන්නයි.වැඩ ගොඩක් එක පාරකට කරන්නයි පුලුවන් කියන එක. වැඩ ගොඩක් එක පාරට කරනව කිව්වෙ මෙන්න මෙහෙම දෙයක්
අපි හිතමු අපට ඔන අපේ කම්පුටර් එකේ තියන files ඔක්කෝගේම එකතුවක් ගන්න. මෙන්න මේ කමාන්ඩ් එකෙන් පුලුවන් ඒ වැඩේ කරන්න.

ls / -R | wc -l

ඉතින් ගිගාබයිට් දෙසීය තුන්සීය තියෙන අපේ hard disk වල files වල count එකක් ගන්න ගොඩක් වෙලාවක් බලන් ඉන්න ඔනනෙ.මේක ඉවරවෙන කම් කම්පියුටර් එක් දිහා බලන් ඉන්නෙ නැතුව තව කමාන්ඩ් එකක් රන් කරව ගන්න අපට පුලුවන් මේකට තමයි මේ multitasking කියල කියන්නෙ යම් කිසි වැඩ එකකට වැඩි ප්‍රමාණයක් එක වර සිදු කර ගන්න පුලුවන්. සින්දුවක් අහන ගමන් ලියුමක් ලියනව වගේ වැඩත් මේ වගේ.
කලින් ලියපු කමාන්ඩ් එක රන් වෙන අතර තුර වෙන කමාන්ඩ් එකක් වෙනමම රන් කරන්න පුලුවන් නැත්තම් කලින් කමාන්ඩ් එකේ අගට ම & සලකුණ යොදල තව කමාන්ඩ් එකක් ලබාදෙන්න පුලුවන් එක පාරට දෙකම රන් වෙන්න කියල
ls / -R | wc -l & කමාන්ඩ් 2

අපි කලින් කතා කරා නෙ රන් වෙන කමාන්ඩ් එකකට process එකක් කියල හදුන්වනව කියල ඒ වගේම PID ගැනත් කතා කරානෙ මතක තියා ගන්න මේ PID එකෙන් අපට පුලුවන් එකට අදාල process එක refer කරන්න. ඊළඟට බලමු ඒ ගැන.

  1. process හා PID ගැන තව දුරටත්


අපි දැන් කලින් කතා කරපු දේවල් තව දුරටත් පැහැදිලි කරගමු.දැන් පොඩි පොඩි වැඩ ටිකක් කරල බලමු. සමහර දේවල් කරන්න කම්පියුටර් එකේ ඇඩ්මින් ගෙ බලතල ලබා ගන්න ඕන ලින්ක්.........
ඒ නිසා su කමාන්ඩ් එක ටයිප් කරල අඩ්මින් ලොග් වෙන්න.
          1. top :- මේ කමාන්ඩ් එක රන් කරහම අපට දැනට කම්පියුටර් එකේ රන් වෙමින් පවතින ප්‍රොසෙස් ටික බලා ගන්න පුලුවන්.

වම් පැත්තෙ කොනේම තියෙන්නෙ PID එක අදාල ප්‍රොසෙස් එක තවත් memory,cpu වගේ ඒවගෙ usage එක්ත් පෙන්නනව.
ඔකෙන් ඉවත් වෙන්න q හරි ctrl +c හරි press කරන්න.
 *** shift+m යතුරු එබීමෙන් වැඩියෙන්ම මෙමරි use කරන වැඩසටහන උඩට ගන්න පුලුවන්. ***
          1. kill {PID} :- මම කලින් කිව්වනෙ pid එකෙන් ප්‍රොසෙස් එකක් refer කරන්න පුලුවන් කියල මේ තියෙන්නෙ එහෙම කරන විදියක්. අපි හිතමු 2546 කියන ප්‍රොසෙස් එක නවත්වන්න ඔන කියල එතකොටKill 2546 කියන් කමාන්ඩ් එක මගින් ඒදේ කරගන්න පුලුවන්.
**ඇඩ්මින්ට උනත් සියලුම ප්‍රොසෙස් නවත්වන්න බෑ 95-98% ප්‍රමාණයක් වගේ තමයි එයාට පුලුවන්.**

          1. PID එකෙන් වගේම ප්‍රොසෙස් එකේ නමෙනුත් අපට ඒක referකරන්න පුලුවන් එතකොට කරන්නෙ මෙහෙමයි.

killall   {Process-name}
4.ps -ag :- කියන එකෙන් පුලුවන් දැනට රන් වෙමින් තියෙන ප්‍රොසෙස් ටික බලා ගන්න.

          1. kill 0 :- මගින් පුලුවන් රන් වෙමින් තියෙන අපේ ශෙල් එක ඇර අනෙක් ඒව ඔක්කොම කිල් කරන්න.
          2. ps aux :- මේකෙන් පෙන්නනව ප්‍රොසෙස් වල අයිතිය හිමි අය (ඇඩ්මින් හෝ වෙන යම් user )
          3. pstree :- tree එකක් (ගහක අතුබෙදුන) විදියට ප්‍රොසෙස් එක දකින්න පුලුවන්.
          4. අපට පුලුවන් අපි දන්න කියන ප්‍රොසෙස් එකක් රන් වෙනවද කියල බලාගන්න.ඒක බලන්න මේ කමාන්ඩ් එක use කරන්න පුලවන්

ps ax | grep  process name

          1. ps :- මේකෙනුත් පුලුවන් දැනට රන් වෙන ප්‍රොසෙස් බලා ගන්න.



ඔන්න මෙතනින් ලිනක්ස් ශෙල් පාඩම ඉවරයි. ඉවරයි කිව්වට ඉවරම නෑ ඉවර උනේ මූලික සංකල්ප ටික. ඊළඟට තමයි structured shell programming පටන් ගන්නෙ.








Post a Comment