නැවැත්වූ රැකියා ඇත (කඩිනමින් පිටවීමේදී)


169

There are stopped jobs.සමහර විට මම බාෂ් කවචයකින් පිටවීමට උත්සාහ කරන විට මට පණිවිඩය ලැබේ. පයිතන් 2.x හි ප්‍රජනනය කළ හැකි අවස්ථාවක් මෙන්න:

  • ctrl+ cයනු ව්‍යතිරේකයක් ලෙස පරිවර්තකයා විසින් හසුරුවනු ලැබේ.
  • ctrl+ zක්‍රියාවලිය 'නතර කරයි'.
  • ctrl+ dයථාර්ථයන් සඳහා පයිතන් පිටවෙයි.

මෙන්න සැබෑ ලෝකයේ පර්යන්ත නිමැවුම් කිහිපයක්:

example_user@example_server:~$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

ctrl+z

[1]+  Stopped                 python
example_user@example_server:~$ exit
logout
There are stopped jobs.

බාෂ් පිටව ගියේ නැත, මම exitනැවතත් බාෂ් කවචයෙන් පිටවිය යුතුය .

  • ප්‍ර: 'නැවැත්වූ රැකියාව' යනු කුමක්ද, නැතහොත් මෙයින් අදහස් කරන්නේ කුමක්ද?
  • ප්‍ර: නැවැත්වූ ක්‍රියාවලියක් නැවත ආරම්භ කළ හැකිද?
  • ප්‍රශ්නය: පළමුවැන්නා exitනතර කළ රැකියා විනාශ කරයිද?
  • ප්රශ්නය: පළමු වරට ශෙල් එකෙන් ඉවත් කිරීමට එහි ක්රමයක් ද? ( exitදෙවරක් ඇතුළු නොවී )

ctrl + shift + \ ද python පිටවීම සිදු කරයි.
ThorSummoner

Answers:


224

නැවැත්වූ රැකියාවක් යනු තාවකාලිකව පසුබිමට දමා ඇති අතර එය තවදුරටත් ක්‍රියාත්මක නොවන නමුත් තවමත් සම්පත් භාවිතා කරයි (එනම් පද්ධති මතකය). එම කාර්යය වත්මන් පර්යන්තයට සම්බන්ධ කර නැති නිසා එයට ප්‍රතිදානය නිපදවිය නොහැකි අතර පරිශීලකයාගෙන් ආදානය නොලැබේ.

jobsබිල්ඩින් විධානය භාවිතා කරමින් ඔබ ක්‍රියාත්මක කරන රැකියා බාෂ් වලින් දැක ගත හැකිය , බොහෝ විට වෙනත් ෂෙල් වෙඩි ද ඇත. උදාහරණයක්:

user@mysystem:~$ jobs
[1] + Stopped                python
user@mysystem:~$ 

fg(පෙරබිම්) බාෂ් බිල්ට් විධාන භාවිතා කිරීමෙන් ඔබට නැවතී ඇති රැකියාව නැවත ආරම්භ කළ හැකිය . ඔබට නවතා ඇති බහුවිධ විධාන තිබේ නම්, විධාන රේඛාවේ ඇති රැකියා නියුක්තික අංකය ලබා දීමෙන් නැවත ආරම්භ කළ යුත්තේ කවරේද යන්න සඳහන් කළ යුතුය fg. එක් වැඩසටහනක් පමණක් නැවැත්වුවහොත්, ඔබට fgතනිවම භාවිතා කළ හැකිය :

user@mysystem:~$ fg 1
python

මෙම අවස්ථාවෙහිදී ඔබ නැවත පයිතන් පරිවර්තකයට පැමිණ ඇති අතර පාලක-ඩී භාවිතා කර පිටවිය හැකිය.

අනිත් අතට, ඔබ killඑක්කෝ එය විසින් jobspec හෝ PID විධාන. උදාහරණයක් වශයෙන්:

user@mysystem:~$ ps
  PID TTY          TIME CMD
16174 pts/3    00:00:00 bash
17781 pts/3    00:00:00 python
18276 pts/3    00:00:00 ps
user@mysystem:~$ kill 17781
[1]+  Killed                  python
user@mysystem:~$ 

රැකියා අවකාශය භාවිතා කිරීම සඳහා, ප්‍රතිශත (%) යතුර සමඟ අංකයට පෙර:

user@mysystem:~$ kill %1
[1]+  Terminated              python

නැවැත්වූ රැකියා සමඟ ඔබ පිටවීමේ විධානයක් නිකුත් කරන්නේ නම්, ඔබ දුටු අනතුරු ඇඟවීම ලබා දෙනු ඇත. රැකියාව සුරක්ෂිතව පවත්වාගෙන යනු ඇත. එනම්, ඔබ නැවැත්වූ බව ඔබට අමතක වී ඇති රැකියා kill ාතනය කිරීමට ඔබ උත්සාහ කරන බව ඔබ දැන සිටින බවට සහතික කර ගැනීමයි. දෙවන වරට ඔබ පිටවීමේ විධානය භාවිතා කරන විට රැකියා අවසන් වන අතර ෂෙල් එක පිටවෙයි. මෙම විලාසිතාවෙන් kill ාතනය කිරීමට අදහස් නොකරන සමහර වැඩසටහන් සඳහා මෙය ගැටළු ඇති කළ හැකිය.

logoutකඩිනමින් ඔබට විධානය භාවිතා කළ හැකි බව පෙනේ . මෙය අනවශ්‍ය ප්‍රති .ල ඇති කළ හැකිය.

සමහර වැඩසටහන් මේ ආකාරයෙන් අවසන් වන විට පිටව නොයන බවත්, ඔබ එය පුරුද්දක් කර ගන්නේ නම් ඔබේ පද්ධතිය සම්පත් උපයෝගී කරගනිමින් අනාථ වූ ක්‍රියාවලීන් රාශියකින් අවසන් විය හැකි බවත් සලකන්න.

ඔබට පරිශීලක ආදානය අවශ්‍ය නම් නවත්වන පසුබිම් ක්‍රියාවලියක් ඔබට නිර්මාණය කළ හැකි බව සලකන්න:

user@mysystem:~$ python &
[1] 19028
user@mysystem:~$ jobs
[1]+  Stopped                 python

Ctrl-zබාධා කිරීම් සමඟ ඔබ නැවැත්වූ රැකියා කළ ආකාරයටම ඔබට මෙම රැකියා නැවත ආරම්භ කර මරා දැමිය හැකිය .


4
මම ඔබේ දෙවන වාක්‍යයෙන් විවාද කරමි. එය මෙසේ පැවසිය යුතුය, “කාර්යය නවතා ඇති බැවින් එයට කිසිදු ක්‍රියාමාර්ගයක් ගත නොහැක - ගොනු I / O, ජාල I / O, පර්යන්තය I / O, හෝ වෙනත් සැකසුම්.”
ස්කොට්

2
මෙය මට බොහෝ උපකාර කරයි.
shellbye

ඕනෑම කෙනෙකුට විශිෂ් post පෝස්ට් විශාල උදව්වක්!
ජෝර්ජ් උදොසන්

19

ප්‍ර: 'නැවැත්වූ රැකියාව' යනු කුමක්ද, නැතහොත් මෙයින් අදහස් කරන්නේ කුමක්ද?

නැවැත්වූ රැකියාව යනු යතුරුපුවරුව (අත්හිටුවීමේ අක්‍ෂරය ), විධානය (උදා ) හෝ වෙනත් ක්‍රියාවලියක් (උදා: පද්ධතියේ සම්පත් නොමැති විට කර්නලය ) වෙතින් නැවතුම් සං signal ාව ( SIGSTOP/ SIGTSTP) ලැබුනු ක්‍රියාවලියක් වන අතර එය විරාම තත්වයේ පවතින බැවින් එය නැවැත්වීමට / අත්හිටුවීමට පද්ධතියට කියයි ක්‍රියාවලියක් වන බැවින් එය ක්‍රියාත්මක කිරීම / සැකසීම සිදු නොකරයි.Ctrl-Zkill -STOP [PID]

සක්‍රිය ෂෙල් රැකියා පහත පරිදි ලැයිස්තු ගත කළ හැකිය : jobs.

ප්‍ර: නැවැත්වූ ක්‍රියාවලියක් නැවත ආරම්භ කළ හැකිද?

නැවැත්වූ ක්‍රියාවලිය නැවත ක්‍රියාත්මක වන්නේ එය ක්‍රියාත්මක කරන්නේ සං .ාව යවන්නේ නම් පමණි SIGCONT. මෙය සාක්ෂාත් කරගත හැක්කේ fg(හෝ fg ID) එමඟින් වර්තමාන රැකියාව බවට පත් කරමින් රැකියාව පෙරට ගෙනයෑම bg, පසුබිමෙහි එය දිගටම කරගෙන යාම හෝ සං SIGCONTsignal ා යැවීමෙන් (උදා kill -CONT [PID]).

පළමු පිටවීම නතර කළ රැකියා විනාශ කරයිද?

ඔබ ටයිප් කරන විට පළමු වරට exit/ logoutහෝ මාධ්ය Ctrl-D, ෂෙල් ඔබගේ පර්යන්තය හා සම්බන්ධ වන බව වත්මන් ක්රියාකාරී රැකියා ගැන අනතුරු ඇඟවීමේ පණිවිඩයක් මුද්රණය කරයි, එම නිසා එය ඔබ ඔබගේ අවසරයකින් තොරව එම ක්රියාව දෙවන වරටත් තහවුරු විසින් මරා නැත. checkjobsවිකල්පය සක්‍රීය කර ඇත්නම් ( shopt -s checkjobs), එයට ඔවුන්ගේ තත්වයන් සමඟ රැකියා ලැයිස්තුගත කළ හැකිය.

පළමු වරට කවචයෙන් පිටවීමට ක්‍රමයක් තිබේද? (පිටවීම දෙවරක් ඇතුළත් නොකර)

ඔබට Ctrl+Dදෙවරක් එබිය හැකිය, නැතහොත් වැඩි වේලාවක් රඳවා තබා ගත හැකිය , මෙය ෂෙල් නිශ්ශබ්දතාවයෙන් ඉවත්ව යනු ඇත.

විකල්පයක් ලෙස ඔවුන්ව ප්‍රතික්ෂේප කරන්න ( disown) ඔවුන් අතහැර යාමට හෝ අතින් මරා දැමීමට : kill $(jobs -p).

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.