දැනටමත් ක්‍රියාත්මක වන ක්‍රියාවලියක් තිරයට ගෙන යාම


237

මගේ කාර්යාල රැකියාව සාමාන්‍යයෙන් මා දකින්නේ VNC හරහා ලිනක්ස් පෙට්ටියකට සම්බන්ධ වී ඇති බවයි.

සමහර විට මම කොන්සෝලය මත දුරස්ථ රැකියාවක් ආරම්භ කරන අතර, එය බලාපොරොත්තු වූවාට වඩා බොහෝ කාලයක් ධාවනය වන බව පසුව තේරුම් ගනිමි. (තිරය යටතේ එය මුලින් ආරම්භ කළ යුතුව තිබුණි ...)

වීඑන්සී සැසිය විවෘතව තබා ගැනීම සඳහා මගේ වැඩපොළ එක රැයකින් පවත්වා ගෙන යාමට මට අවශ්‍ය නැත; දැනටමත් ක්‍රියාත්මක වන දුරස්ථ කාර්යය තිර සැසියකට (දුරස්ථ කොටුවේ) ගෙනයාමට මා කැමතිය, එබැවින් මට වැඩපොළ ක්‍රියා විරහිත කළ හැකිය (සහ ඊළඟ උදෑසන නැවත සම්බන්ධ කරන්න).

කෙසේ වෙතත් මෙය කළ හැක්කේ කෙසේද?


2
එය ඩුප් එකක්, serverfault.com/questions/49877/… - එය කළ නොහැකි බව පෙනේ.
පෝල් ඩික්සන්




තිර රචනය සඳහා සොයන්න.
වෂු

Answers:


235

උරගයා දෙස බලන්න , එය හරියටම කරයි. ගිතුබ් පිටුවේ සියලුම තොරතුරු ඇත.

reptyr - “නැවත සැකසීමේ” වැඩසටහන් සඳහා මෙවලමක්.

reptyr යනු දැනට පවතින ධාවන වැඩසටහනක් ගෙන එය නව පර්යන්තයකට අනුයුක්ත කිරීම සඳහා වූ උපයෝගීතාවයකි. Ssh හරහා දිගුකාලීන ක්‍රියාවලියක් ආරම්භ කළ නමුත් ඉවත්ව යා යුතු අතර එයට බාධා කිරීමට අවශ්‍ය නැද්ද? තිරයක් ආරම්භ කරන්න, එය අල්ලා ගැනීමට reptyr භාවිතා කරන්න, ඉන්පසු ssh සැසිය මරා දමා ගෙදර යන්න.

භාවිතය

reptyr PID

"reptyr PID" මඟින් ID PID සමඟ ක්‍රියාවලිය අල්ලා ඔබගේ වත්මන් පර්යන්තයට අමුණනු ඇත.

ඇමිණීමෙන් පසු, ක්‍රියාවලිය ter C සහ ^ Z ඇතුළුව නව පර්යන්තයට ආදානය ගෙන ලිවීම සිදු කරයි. (අවාසනාවකට මෙන්, ඔබ එය පසුබිම් කළහොත්, ඔබට තවමත් පැරණි පර්යන්තය තුළ "bg" හෝ "fg" ධාවනය කිරීමට සිදුවනු ඇත. මෙය ඔබේ කවචය ඇලවීමකින් තොරව සාධාරණ ආකාරයකින් නිවැරදි කිරීමට නොහැකි වනු ඇත.)


24
මා වැනි, ඔබ ඉහත සබැඳිය දෙස බලා, මූලාශ්‍රයෙන් වැඩසටහන ස්ථාපනය කිරීම ගැන කෙටියෙන් සලකා බැලුවහොත්, සිතට ගන්න: එය apt-getඩේබියන් පද්ධති වලින් away ත්වී ඇත.
මිලිස්නර්

4
මෙය විශිෂ්ටයි, මම මීට පෙර මෙය නොදුටුවේ කෙසේද?
deed02392

4
මේක නම් නියමයි! මට හැකි නම් මම එය 10 වතාවක් ඉහළ නංවන්නෙමි! එසේම, රෙප්ටයර් රෙඩ්හැට් ගබඩාවලද ඇත. එය ලබා ගැනීම සඳහා 'yum install' කරන්න.
මාර්ක් ජේ. බොබාක්

8
ඉතා සුළු අවස්ථාවන්හිදී හැර ක්‍රියා නොකරයි:Unable to attach. (This most commonly means that 11690 has a suprocesses)
user541686

3
අවම වශයෙන් root ලෙස, ඔබට භාවිතා කළ හැකියreptyr -T PID
ChristophK

47

ඔබට මෙය පහසුවෙන් කළ නොහැක. කොන්සෝලය විවෘත කිරීමෙන් පසු ඔබ කරන පළමු දෙය ලෙස තිරය ආරම්භ කිරීම පුරුද්දක් කර ගැනීමට මම යෝජනා කරමි.

කෙසේ වෙතත්, ඔබගේ සත්‍ය ගැටළුව සඳහා, ඔබට උත්සාහ කළ හැකි තවත් දෙයක් තිබේ: ඔබේ කාර්යය පර්යන්තයෙන් දියත් කිරීමෙන් පසුව, ctrl-z ටයිප් කර එය පසුබිම් කරන්න bg. ඊට පසු, කාර්යය එහි මව් කවචයෙන් වෙන් කරන්න; කඩිනමින් ඔබ කරන්න disown -h %<jobid>. ඊට පසු, ඔබට ආරක්ෂිතව පර්යන්තය වසා දැමිය හැකි අතර කාර්යය දිගටම කරගෙන යනු ඇත.


3
මෙය මගේ නඩුව සඳහා ඉතා හොඳින් ක්‍රියාත්මක විය. reptyr සහ retty යන දෙකම ක්‍රියාවලිය ග්‍රහණය කර ගැනීමට අසමත් විය, නමුත් මට අවශ්‍ය වූයේ පර්යන්තයක් වසා දමා ක්‍රියාවලිය ක්‍රියාත්මක වීමට ඉඩ හැරීමයි.
STW

10
FYI: ක්‍රියාවලිය ප්‍රතික්ෂේප කිරීමෙන් පසු එය තිරය තුළ නැවත සකස් කළ හැකිය .
ඇඩම්

1
මෙය මගේ ධාවන වැඩසටහන විනාශ කළේය :(
user541686

39

ඔබ ලිනක්ස් භාවිතා කරන විට, අලුතින් දියත් කළ තිර ක්‍රියාවලිය තුළ රෙට්ටි භාවිතා කිරීම ගැන කුමක් කිව හැකිද?

$ screen -S my_process
$ retty $(pgrep my_process)
/redraw

HTH

චියර්ස්,


1
රෙට්ටි ගැන දැනගෙන හිටියේ නැහැ, ස්තූතියි. කෙසේ වෙතත්, මගේ මතකයේ ඇති දිගු කාලීන රැකියාවන් සඳහා, "ඉතා සැහැල්ලුවෙන් පරීක්‍ෂා කරන ලද" යැයි කියා ගන්නා මෙවලමක් භාවිතා කිරීමට මම ටිකක් පසුබට වෙමි. මම අර්ල්ගේ විසඳුම සමඟ යමි.

1
ජෙන්ටූ
සර්ජි

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.