මේ ලිපිය ගොඩක් අදාල වෙන්නේ Unix/Linux මෙහෙයුම් පද්ධතිවල වැඩ කරන අයට.  බොහෝ විට  System Administrators ලා Unix/Linux servers වල වැඩ කරන්නේ telnet/ssh වගේ සැසියකින්. මෙහිදී ඇති වන ගැටළුව තමයි සැසිය විසන්ධි කළ විට ඒ මඟින් ආරම්භ කරපු වැඩසටහනුත් (Process) අවසන් වෙන එක.

නිතර විසන්ධි වන අනතර්ජාල සම්බන්ධයකදී ,අවසාන වීමට ගොඩක් වෙලා ගන්නා වැඩසටහනක් [උදා: System backups] ක්‍රියාත්මක කිරීම සෑහෙන ප්‍රශ්නයක්. මොකද සම්බන්ධතාව විසන්ධි උනාම ආයේ මුල ඉඳලා ක්‍රියාත්මක කරන්න වෙනවා. එහෙමත් නැත්නම් හවස 5ට, පැය 2ක් run වෙන වැඩසටහනක් ක්‍රියාත්මක කරන්න තියෙන වෙලාවක් හිතන්න. එක්කෝ වැඩේ ඉවර වෙනකන් පැය දෙක කන්තෝරුවේ චාටර් වෙන්න වෙනවා. එහෙමත් නැත්නම් remote connectivity තියෙන අයට ගෙදර ගිහින් කරන්න වෙනවා.

මේකට තියෙන එක විසඳුමක් තමයි nohup [no hang up] භාවිතා කිරීම.

භාවිතය: nohup command &

හැබැයි මෙ ක්‍රමයෙදී තියෙන අවාසිය තමයි සමහර වැඩසටහන් මේ විදියට ක්‍රියාත්මක කරන්න බැරිකම [උද: සමහර shell script].

ඊට වඩා screen භාවිතා කිරීම පහසුයි. කරන්න තියෙන්නේ අවශ්‍ය telnet/ssh සැසිය හදා ගෙන screen කියන command එක run කරන එක. මෙවිට ආයෙත් සාමාන්‍ය සැසියක වගේ එක shell හම්බ වෙනවා. දැන් කරන්න තියෙන්නේ වෙලා ගන්නා command එක මේ අලුත් shell එකේ run කරන එක. ඊට පස්සේ  Ctrl+a+d [De-attach කියන්න] screen එකෙන් එලියට යන්න පුළුවන්. දැන් telnet/ssh සැසිය විසන්ධි කළා කියලා run කරපු command එක නවතින්නේ නෑ.

ඊගාවට ආයෙ connect වෙන්න අලුත් telnet/ssh සැසියක් හදා ගෙන screen -r කියලා ඇතුළු කරන්න. එතකොට තියෙන screen සැසි ඔක්කොගේම ලැයිස්තුවක් දෙනවා. මේකෙන් අදාළ සැසියේ නම තෝරා ගෙන screen -r <session name> කියලා ඇතුළු කළහම පරණ telnet/ssh සැසිය ආයෙ හම්බ වෙනවා.

Advertisements