-9 ක්‍රියාවලියක් මා kill ාතනය නොකළ යුත්තේ කවදාද?


405

මම සෑම විටම ධාවනය කිරීමට පසුබට වෙමි kill -9, නමුත් අනෙක් පරිපාලකයින් එය සාමාන්‍යයෙන් කරන බව මට පෙනේ.

බොහෝ විට සංවේදී මැද බිමක් ඇති බව මම සිතමි, එබැවින්:

  1. kill -9භාවිතා කළ යුත්තේ කවදාද සහ ඇයි ? කවදාද සහ ඇයි නැත්තේ?
  2. එය කිරීමට පෙර උත්සාහ කළ යුත්තේ කුමක්ද?
  3. “එල්ලෙන” ක්‍රියාවලියක් නිදොස් කිරීම තවදුරටත් ගැටළු ඇති කළ හැක්කේ කෙසේද?

Answers:


366

සාමාන්‍යයෙන්, ඔබ ඉලක්කගත ක්‍රියාවලියට පසුව පිරිසිදු කිරීමට අවස්ථාවක් ලබා දීමට පෙර ( ) ( ) killසඳහා කෙටි ( kill -s TERMහෝ බොහෝ පද්ධති සඳහා kill -15) භාවිතා කළ යුතුය . (ක්‍රියාවලි වලට අල්ලා ගැනීමට හෝ නොසලකා හැරිය නොහැක , නමුත් ඒවාට බොහෝ විට අල්ලා ගත හැකිය .) ක්‍රියාවලියට එය කරන දේ අවසන් කර පිරිසිදු කිරීමට අවස්ථාවක් ලබා නොදෙන්නේ නම්, එමඟින් දූෂිත ලිපිගොනු (හෝ වෙනත් රාජ්‍යයක්) ඒ වටා තැබිය හැකිය. නැවත ආරම්භ කිරීමෙන් පසු තේරුම් ගැනීමට නොහැකි වනු ඇත.kill -9kill -s KILLSIGKILLSIGTERM

strace/ truss, ltraceසහ gdbසාමාන්‍යයෙන් සිරවී ඇති ක්‍රියාවලියක් සිරවී ඇත්තේ මන්දැයි සොයා බැලීම සඳහා හොඳ අදහස් වේ. ( truss -uසොලාරිස් හි විශේෂයෙන් උපකාරී වේ; ltraceපුස්තකාල ඇමතුම් සඳහා බොහෝ විට භාවිතා කළ නොහැකි ආකෘතියකින් තර්ක ඉදිරිපත් කරන බව මට පෙනේ .) සොලාරිස් සතුව ප්‍රයෝජනවත් /procපාදක මෙවලම් ද ඇත , ඒවායින් සමහරක් ලිනක්ස් වෙත වරාය කර ඇත. ( pstackබොහෝ විට උපකාරී වේ).


69
ප්‍රබල හේතුව නම්, ඔබ සිගිල් යැවීමේ පුරුද්දට පිවිසෙන්නේ නම්, ඔබ හෝ ඔබේ සමාගම සඳහා වැදගත් දත්ත ගබඩාවක් දූෂිත කරන වැඩසටහනකට ඔබ පිවිසෙන විට, ඔබ ඒ ගැන කනගාටු වනු ඇත. kill -9අන්තිම නිවාඩු නිකේතනයක් ලෙස එහි භාවිතය අවසන් වරට භාවිතා කිරීම අවධාරණය කරයි; අවසාන උපක්‍රමයට පෙර එය භාවිතා කරන පරිපාලකයින් අ) පරිපාලකයෙකු වීම එතරම් හොඳින් වටහා නොගන්නා අතර ආ) නිෂ්පාදන පද්ධතියක නොවිය යුතුය.
Arcege

9
Ik මයිකල් එය හරහා තවත් දෙයක්, සමහර විට යෙදුමක් SIGINT / SIGTERM වලට ප්‍රතිචාර නොදක්වන්නේ නම් SIGQUIT හෝ SIGSEGV වැනි සං signal ාවකින් එය පිරිසිදු කිරීමට උපක්‍රම යෙදීම වඩාත් සුදුසුය. උදාහරණයක් ලෙස, සම්පූර්ණ තිර 3-D යෙදුමක් හෝ Xorg පවා. SIGQUIT භාවිතා කිරීමෙන් එයට කිසිවක් පිරිසිදු කිරීමට අවස්ථාවක් නොලැබෙනු ඇත, නමුත් ඛණ්ඩයේ දෝෂයක් සිදුවනු ඇතැයි සිතීමට එය පොළඹවන අතර එය පිරිසිදු කර පිටවීම හැර වෙනත් විකල්පයක් නොමැති බව හැඟෙනු ඇත.
penguin359

12
-Arcege -9 සමඟ killed ාතනය කළහොත් දත්ත දූෂිත කරන දත්ත සමුදායක් භාවිතා කිරීම වටින දත්ත ගබඩාවක් යැයි ඔබ සිතනවාද? iirc, mysql, bdb, pg, ආදිය ... -9 සමඟ මරා දැමූ විට සියල්ලම හොඳින් හැසිරේ.
dhruvbird

13
killall -9 java ftw
dmourati

23
hdhruvbird: ඔබේ ඩීබී වලට වෙඩි නොවදින කබා වලින් සන්නද්ධ විය යුතු යැයි අදහස් නොකෙරේ, ඔබට අවශ්‍ය නැතිනම් ඔබට වෙඩි තැබිය යුතු යැයි අදහස් නොකෙරේ. ආර්සෙජ් පවසන තරම් අවදානම් නොවන බව ඔබ නිවැරදි වුවත්, මම හිතන්නේ ඔහුගේ අදහස තවමත් එය අවදානම් සහ අවසාන පියවර විය යුතු බවයි.
iconoclast

230

රැන්ඩල් ෂ්වාට්ස් නිතරම "x (') භාවිතා කිරීම" ලැයිස්තු වල පළ කරයි. එවැනි එක් තනතුරක් ගැන විය kill -9. එයට හේතු සහ අනුගමනය කළ යුතු වට්ටෝරුවක් ඇතුළත් වේ. මෙන්න ප්‍රතිනිර්මාණය කරන ලද අනුවාදයකි (පහත උපුටා දක්වා ඇත).

(උපුටා දැක්වීම පිළිකුල් කිරීම)

නෑ නෑ නෑ. Kill -9 භාවිතා නොකරන්න.

එය ක්‍රියාවලියට පිරිසිදු වීමට අවස්ථාවක් ලබා නොදේ:

1) සොකට් සම්බන්ධතා වසා දමන්න

2) තාවකාලික ගොනු පිරිසිදු කරන්න

3) එය පහව යන බව තම දරුවන්ට දන්වන්න

4) එහි පර්යන්ත ලක්ෂණ නැවත සකසන්න

සහ එසේ ය.

සාමාන්‍යයෙන්, 15 ක් යවා තත්පරයක් හෝ දෙකක් බලා සිටින්න, එය ක්‍රියාත්මක නොවන්නේ නම්, 2 ක් යවන්න, එය ක්‍රියාත්මක නොවන්නේ නම්, 1 යවන්න. එය එසේ නොවේ නම්, වැඩසටහන නරක ලෙස හැසිරෙන නිසා ද්විමය ඉවත් කරන්න!

Kill -9 භාවිතා නොකරන්න. මල් බඳුන පිළිවෙලට තැබීම සඳහා ඒකාබද්ධ අස්වනු නෙළන්නා පිටතට ගෙන නොයන්න.

යූස්නෙට් හි තවත් නිෂ් less ල භාවිතයක්,

(. අත්සන)


12
ක්‍රියාවලිය අවසන් වූ විට මෙහෙයුම් පද්ධතිය කිසිදු විවෘත ගොනු විස්තරයක් (සොකට් ද ඇතුළුව) වසා දමන්නේ නැද්ද?
බ්‍රයන් ගෝර්ඩන්

3
ඔව් එය එසේ වනු ඇත. නමුත් ඔබ සේවාදායකයින් සම්බන්ධ කර ඇති සේවාදායක ක්‍රියාවලියක් මරා දමයි යැයි සිතමු, එවිට සේවාදායකයින් කල් ඉකුත්වීමට පෙර සේවාදායකය නැති වී ඇති බව නොපෙනේ.
Björn Lindqvist

45
අහ් ඔව් පරණ "එය කිසියම් ආකාරයකින් අසම්පූර්ණ නම් ඔබ එය භාවිතා කිරීම මෝඩයෙකි" යන තර්කය.
ටිම්ම්ම්

3
නැතහොත් සැක සහිත ක්‍රියාවලිය ඔබේ සමාගමේ නිෂ්පාදනය නම් භාවිතා කිරීම මෝඩකමක්
වොරන් පී

3
යම් ක්‍රියාවලියක් is ාතනය වුවහොත් සොකට් එක RST සම වයසේ මිතුරන් වෙත යවනු ඇත, එහිදී ක්‍රියාවලිය සොකට් එක වසා දැමීම හෝ වසා දැමීම ලෙස හැඳින්වුවහොත් සොකට්ටුව FIN යවයි. කල් ඉකුත් වීමක් අවශ්‍ය නොවේ. කල් ඉකුත් වීමේ තත්වයක් ඇති වන්නේ විදුලිය විසන්ධි වුවහොත් හෝ ජාල කේබලය ඉවත් කළහොත් පමණි.
ctrl-alt-delor

77

එය සෑම විටම කරන්න හරි විය යුතුය kill -9එය සෑම විටම බලය කේබල් ඇද විසින් වසා දැමීම සඳහා OK විය යුතු වගේ. එය සමාජ විරෝධී විය හැකි අතර, යම් ප්‍රකෘතියක් කිරීමට ඉතිරිව ඇත, නමුත් එය ක්‍රියාත්මක විය යුතු අතර නොඉවසිලිමත් අය සඳහා බල මෙවලමකි.

මම මෙය කියන්නේ මුලින් මරා දැමීමට උත්සාහ කරන අයෙකු ලෙස ය (15), මන්ද එය වැඩසටහනකට යම් පිරිසිදු කිරීමක් කිරීමට අවස්ථාවක් ලබා දෙන බැවිනි - සමහර විට "සිග් 15 මත පිටවීම" යන ලොගයට ලිවීම. නමුත් kill ාතනයක් සම්බන්ධයෙන් අයථා ලෙස හැසිරීම පිළිබඳ කිසිදු පැමිණිල්ලක් මම භාර නොගනිමි.

හේතුව: බොහෝ ගනුදෙනුකරුවන් එය කරන්නේ ක්‍රමලේඛකයින් කැමති දේට පසුව නොවේ. සසම්භාවී kill ාතන -9 පරීක්ෂාව හොඳ සහ සාධාරණ පරීක්ෂණ අවස්ථාවක් වන අතර ඔබේ පද්ධතිය එය හසුරුවන්නේ නැත්නම්, ඔබේ පද්ධතිය බිඳී ඇත.


2
"අහඹු kill ාතනය -9" සඳහා ඔබ පරීක්ෂා කරන්නේ කෙසේද? ඔබ kill ාතනය -9 ලබා ගත් විට, ඔබ අවසන් කර අවසන්.
කරල් බොලෙක්

18
Are කරෙල්: ඔබේ පද්ධතියට පසුව යථා තත්ත්වයට පත් විය හැකිදැයි ඔබ පරීක්‍ෂා කරන අතර, සිග්කිල් අවස්ථාවේ ක්‍රියාවට නංවන ලද ඕනෑම ගණුදෙනුවක් පිරිසිදු කරන්න.
ටඩියුස් ඒ. කඩුබෝව්ස්කි

8
එය කරන්න හරි නැහැ kill -9එය ප්ලග් අදින්න කිරීම සඳහා OK නොවේ වගේ. ඇත්ත වශයෙන්ම ඔබට වෙනත් විකල්පයක් නොමැති අවස්ථා ඇති අතර, මෙය අවසාන පියවර විය යුතුය. ඇත්ත වශයෙන්ම, විදුලි රැහැන අදින්න හෝ kill -9යෙදුම හෝ මෙහෙයුම් පද්ධතිය නිසි ලෙස නැවත ආරම්භ කිරීම වැළැක්වීම වැනි අහිතකර බලපෑම් ඇති නොවිය යුතුය, නමුත් ජරාව සිදුවී නිර්දේශිත ක්‍රම ( kill [-15]) හෝ නිතිපතා වසා දැමීම භාවිතා කිරීමෙන් සිදුවිය හැකි අවුල් මඟහරවා ගත හැකිය. ඔබ සාමාන්‍යයෙන් වැඩසටහන් සහ මෙහෙයුම් පද්ධති වලට බාධා කරයි. ඕනෑම අවස්ථාවක, කේත ශක්තිමත් බව නොතකා දත්ත අහිමි වීමේ අවදානමක් සෑම විටම පවතී.
jlliagre

7
'හරි' යන්නෙන් මයිකල් අදහස් කළේ කුමක්දැයි මම සැක කරමි, ඔබේ වැඩසටහන මෙම තත්වය සමඟ මනාව කටයුතු කළ යුතු අතර නැවත ආරම්භ කිරීමේදී යම් ආකාරයක පිරිසිදු කිරීමක් කළ හැකිය. නිදසුනක් වශයෙන්, PID ලිපිගොනු පිරිසිදු කිරීම යනාදිය එහි සෙල්ලම් බඩු ඉවතට විසි කර ආරම්භ කිරීම ප්‍රතික්ෂේප කරනවාට වඩා.
ජෙරීක්

2
@gerryk ඔවුන් ඇත්ත වශයෙන්ම කළ යුතු නමුත් ගැටලුව වන්නේ තත්වය සහ පරිසරය කුමක් වුවත් සමහර අය එම පිළිතුර “-9 kill ාතනය කිරීමේ බලපත්‍රයක්” ලෙස ගනු ඇත. එය වගකීම් විරහිත ආකල්පයකි.
jlliagre

39

මම කුස්සියට උපකරණ උපකරණ පිඟන් සෝදන යන්ත්රයට විසි කරන ආකාරයටම මම kill -9 භාවිතා කරමි: මුළුතැන්ගෙයි ක්රියාත්මක කිරීම පිඟන් සෝදන යන්ත්රය විසින් විනාශ කරනු ලැබුවහොත් මට එය අවශ්ය නොවේ.

බොහෝ වැඩසටහන් සඳහා (දත්ත සමුදායන් පවා) මෙයම වේ : දේවල් පිදුරු නොගෙන මට මරා දැමිය නොහැකි නම්, ඒවා භාවිතා කිරීමට මට අවශ්‍ය නැත. (තවද ඔබ මෙම දත්ත සමුදායන් නොවන එකක් භාවිතා කිරීමට පෙළඹෙන්නේ නම්, ඒවා නොමැති විට ඒවා දිගටම පවතින බව මවා පෑමට ඔබව දිරිමත් කරයි: හොඳයි, ඔබ කරන්නේ කුමක්ද යන්න ගැන සිතීමට පටන් ගන්නා කාලය මෙය යැයි මම සිතමි).

සැබෑ ලෝකයේ දේවල් ඕනෑම වේලාවක ඕනෑම හේතුවක් නිසා බැස යා හැකි බැවිනි.

කඩාවැටීම් වලට ඔරොත්තු දෙන මෘදුකාංගයක් මිනිසුන් ලිවිය යුතුය . විශේෂයෙන් සේවාදායකයන් මත. දේවල් කැඩී යයි, බිඳ වැටෙනු ඇතැයි උපකල්පනය කරන මෘදුකාංග සැලසුම් කරන්නේ කෙසේදැයි ඔබ ඉගෙන ගත යුතුය.

ඩෙස්ක්ටොප් මෘදුකාංග සඳහා ද එය එසේම වේ. මට මගේ බ්‍රව්සරය වසා දැමීමට අවශ්‍ය වූ විට එය සාමාන්‍යයෙන් වසා දැමීමට AGES අවශ්‍ය වේ. නැත කිසිවක් මගේ වෙබ් බ්රවුසරය අවශ්ය බව තත්පර බොහෝ යුවළක් දී වඩා වැඩි විය යුතු කරන්න. එය වසා දැමීමට මා ඉල්ලා සිටින විට එය වහාම කළ යුතුය. එය සිදු නොවූ විට, හොඳයි, එවිට අපි kill ාතනය -9 ඉවත් කර එය සාදන්නෙමු.


4
එවැනි අසාර්ථකත්වයකට ඔරොත්තු දෙන ක්‍රියාවලියක් ලිවිය යුතු බවට මම එකඟ වෙමි, නමුත් මෙය සිදු කිරීම තවමත් නරක පුරුද්දක් යැයි මම සිතමි. දත්ත සමුදායක් යථා තත්ත්වයට පත් වනු ඇති නමුත් එය රළු ගබ්සා කිරීම් හඳුනාගෙන නැවත ආරම්භ කරන විට සැලකිය යුතු ප්‍රතිසාධන පරීක්ෂාවක් අවුලුවනු ඇත. ක්‍රියාවලියක් ඉටු කරන ඉල්ලීම් ගැන කුමක් කිව හැකිද? ඒවා සියල්ලම ක්ෂණිකව කපා හරිනු ඇත, සේවාදායකයින්ට දෝෂ ඇති විය හැකි අතර අසමත් විය හැකිද?
ඩැනියෙල් ජේම්ස් බ්‍රයාර්ස්

3
ඕනෑම වේලාවක මරා දැමිය නොහැකි දත්ත සමුදායක් නිසි ලෙස විශ්වාසදායක දත්ත ගබඩාවක් නොවේ. ඔබට අනුකූලතාවක් අවශ්‍ය නම් මෙය ඉතා මූලික අවශ්‍යතාවකි. සේවාදායකයින් සම්බන්ධයෙන් ගත් කල: සම්බන්ධතාවය බිඳී ගිය විට ඒවා පිදුරු හා දූෂිත දත්ත වලට ගියහොත් ඒවා නරක ලෙස නිර්මාණය කර ඇත. සේවා අහිමිවීම පියවා ගත හැකි ක්‍රමය වන්නේ අතිරික්තය සහ ස්වයංක්‍රීය අසාර්ථක වීම / නැවත උත්සාහ කිරීමේ උපාය මාර්ගයන් ය. සාමාන්‍යයෙන් පද්ධතියේ බොහෝමයක් වේගයෙන් අසමත් වීම යථා තත්වයට පත් කිරීමට උත්සාහ කිරීම වඩාත් සුදුසුය.
බෝරුඩ්

4
@borud එය පරිපූර්ණ ලෙස ලිඛිත මෘදුකාංගයක් නොවිය හැකි නමුත් එය මිනිසුන් නිතරම භාවිතා කරන මෘදුකාංගයකි. සෑම විටම පරිපූර්ණ ලෙස ලියා ඇති මෘදුකාංගයක් තෝරා ගැනීමට හැකි වීමේ සුඛෝපභෝගී බව කුමක්ද? බොහෝ නොවේ. පුද්ගලිකව මම වසා දැමීමේ ස්ක්‍රිප්ට් භාවිතා කරන අතර මේ හරහා ක්‍රියාවලි ආරම්භ / නැවැත්වීම. වසා දැමීමේ පිටපතට ඔවුන් ප්‍රතිචාර නොදක්වන්නේ නම් (එය ක්‍රියාවලියට නිසි සං aling ා කරයි), මම -9 මරා දමමි.
ස්ටීව් සෙතර්

2
මෙවලම් සම්බන්ධයෙන් මූලික දේවල් පිසීම සහ වඩාත් සංකීර්ණ කෑම වර්ග අතර වෙනසක් නැත. වෙනස කුක්. (කෙසේ වෙතත්, ඔබ බොහෝ කාලයක් ලෙස ගත මට කරන්න ලෙස ආහාර පිසීම නම්, ඔබ ශක්තිමත් බව මුළුතැන්ගෙයි මෙවලම් අවම අවශ්යතාව හා පාරිභෝගික මුළුතැන්ගෙයි භාණ්ඩ අලෙවි කරන බොහෝ මිනිසුන් මහත් මෙවලමක් සිට නරක මෙවලමක් දන්නේ නැහැ ඒ බව අවබෝධ කරගනිමින් කරන්න.)
borud

1
ඒ නිසා දේවල් නිසි ලෙස කිරීමට අපහසු නිසා ඔබ අලස වීමට මිනිසුන් උනන්දු කරනවාද? වැඩි වැඩියෙන් මෘදුකාංග ක්‍රියාත්මක වන්නේ කාලානුරූපී මෙහෙයුම් පරිසරයන් තුළ ය. ඔබ නිවැරදිව වසා නොදැමුවේ නම් ව්‍යාකූල වන මෘදුකාංගයක් ලියන්නේ නම්, ඔබව සංවර්ධකයෙකු ලෙස බඳවා ගැනීමට හාම්පුතුන්ට ඒත්තු ගැන්වීමට ඔබට අපහසු වනු ඇත.
බෝරුඩ්

10

අනෙක් සියලුම පිළිතුරු වල kill -9සඳහන් නොවීම ක්‍රියාවලියක් වන විට කිසිසේත් ක්‍රියාත්මක නොවන අවස්ථාවකි<defunct> අතර මරා දැමිය නොහැකි අවස්ථාවන්හිදී කිසිසේත් ක්‍රියාත්මක නොවන අවස්ථාවකි:

මවුපියන්ගේ ආරම්භක වන <ක්‍රියා විරහිත> ක්‍රියාවලියක් මා kill ාතනය කරන්නේ කෙසේද?

ක්‍රියාවලියක් සඳහා අක්‍රිය වන්නේ කුමක්ද සහ එය මරණයට පත් නොවන්නේ ඇයි?

ඒ නිසා ඔබ උත්සාහ පෙර kill -9වූ <defunct>ක්රියාවලිය ලකුණු ps -efඔහුගේ මව් දේ දැක උත්සාහ කිරීමට -15(ආමය) හෝ -2(INT) සහ අවසාන -9ඔහුගේ මව් මත (මරා).

සටහන: දේ ps -efකරන්නේ .

පසුකාලීන සංස්කරණය සහ පරෙස්සම් වන්න: ක්‍රියාවලි, ඔවුන්ගේ මවුපියන් හෝ දරුවන් killing ාතනය කිරීමේදී ප්‍රවේශමෙන් ඉදිරියට යන්න, මන්ද ඔවුන් ලිපිගොනු විවෘත හෝ දූෂිත, සම්බන්ධතා නිම නොකළ, දත්ත සමුදායන් දූෂිත කළ හැකි kill -9බැවින් ක්‍රියාවලියක් සඳහා කුමක් කරන්නේ දැයි ඔබ නොදන්නේ නම් , එය අවසාන පියවරක් ලෙස පමණක් භාවිතා කරන්න , ඔබට kill ාතනය කිරීමට අවශ්‍ය නම් භාවිතා කිරීමට පෙර ඉහත දක්වා ඇති සං als ා භාවිතා කරන්න-9 (KILL)


6

කවදාවත් කරන්න එපා kill -9 1. සවිකිරීම වැනි සමහර ක්‍රියාදාමයන් kill ාතනය කිරීමෙන් වළකින්න. මට ක්‍රියාවලි රාශියක් මරා දැමීමට සිදු වූ විට (නිදසුනක් ලෙස එක්ස් සැසියක් එල්ලී ඇති අතර එක්තරා පරිශීලකයෙකුගේ සියලු ක්‍රියාදාමයන් මරා දැමිය යුතුය), මම ක්‍රියාවලි වල අනුපිළිවෙල ආපසු හරවන්නෙමි. උදාහරණයක් වශයෙන්:

ps -ef|remove all processes not matching a certain criteria| awk '{print $2}'|ruby -e '$A=stdin.readlines; A.reverse.each{|a| puts "kill -9 #{a}"}'|bash

killක්‍රියාවලියක් නතර කර එහි සම්පත් නිදහස් නොකරන බව මතක තබා ගන්න . එය කරන්නේ ක්‍රියාවලියට සිගිල් සං signal ාවක් යැවීම පමණි; ඔබට එල්ලා ඇති ක්‍රියාවලියක් සමඟ සම්බන්ධ විය හැකිය.


1
අවාසිය වෙන කෙනෙක්. නමුත් නිදහස් නොකරන සම්පත් මොනවාද? ඔබ අදහස් කළේ ක්‍රියාවලියට එහි පිරිසිදු කිරීම සිදු කළ නොහැකි බවයි? ගොනු අගුල්, සෙමෆෝර් ආදිය ගැන කුමක් කිව හැකිද? ඔබට විස්තර කළ හැකිද?
මයිකල්

SysV හවුල් මතකය පෙනෙන අතර සෙමෆෝර් අවම වශයෙන් පිරිසිදු කළ යුතුය. archives.postgresql.org/pgsql-general/2006-10/msg01065.php
මයිකල්

8
මෙම පිළිතුර අර්ධ ව්‍යාකූල සහ කොටසක් වැරදිය. kill -9 1බොහෝ යුනිසස් යටතේ නොසලකා හරිනු ලැබේ. මග යුතු නැත kill -9සඳහා mountඑක්කෝ එය කිසිම අවස්ථාවක දී, නමුත්. “ක්‍රියාවලි වල අනුපිළිවෙල ආපසු හැරවීම” යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්දැයි මම නොදනිමි. kill -9පැමිණිලි කිරීමට අවස්ථාවක් ලබා නොදී ක්‍රියාවලියක් නවත්වයි (මරා දමයි), කෙසේ වෙතත් ක්‍රියාවලිය බාධා රහිත පද්ධති ඇමතුමක තිබේ නම් killing ාතනය වහාම සිදු නොවේ . ක්‍රියාවලියක් illing ාතනය kill -9කිරීම බොහෝ සම්පත් නිදහස් කරයි, නමුත් සියල්ලම නොවේ .
ගිලෙස්ගේ SO- නපුරු වීම නවත්වන්න '

5

ක්‍රියාවලි illing ාතනය කිරීම විලී-නිලි සුමට පියවරක් නොවේ: දත්ත නැතිවිය හැකිය, දුර්වල ලෙස සැලසුම් කර ඇති යෙදුම් නැවත ස්ථාපනයකින් තොරව සවි කළ නොහැකි සියුම් ආකාරවලින් බිඳ දැමිය හැකිය .. නමුත් එය සම්පූර්ණයෙන්ම රඳා පවතින්නේ කුමක්ද සහ කුමක්ද යන්න දැන ගැනීම මත ය. ලබා දී ඇති තත්වය. සහ අවදානමට ලක්විය හැකි දේ. ක්‍රියාවලියක් යනු කුමක් ද යන්න හෝ කළ යුතු දේ සහ එහි ඇති බාධාවන් මොනවාද යන්න (තැටි IOPS, rss / swap) පරිශීලකයාට යම් අදහසක් තිබිය යුතු අතර දිගුකාලීන ක්‍රියාවලියක් සඳහා කොපමණ කාලයක් ගතවේදැයි තක්සේරු කළ හැකිය (ගොනු පිටපතක් කියන්න, mp3 නැවත කේතනය කිරීම, විද්‍යුත් තැපැල් සංක්‍රමණය, උපස්ථය, [ඔබගේ ප්‍රියතම වේලාව මෙතැනින්].)

තව දුරටත්, SIGKILLපිත්තකට යැවීම එය මරා දැමීමේ සහතිකයක් නොවේ. එය සිස්කල් එකක සිරවී තිබේ නම් හෝ දැනටමත් පිම්බී තිබේ නම් ( Zඑය ps), එය දිගටම පිල්ලියක් විය හැකිය. මෙය බොහෝ විට ^ Z දිගුකාලීන ක්‍රියාවලියක් වන අතර එයට bgඋත්සාහ කිරීමට පෙර අමතක වේ kill -9. සරල එකක් fgමඟින් stdin / stdout නැවත සම්බන්ධ කර බොහෝ විට ක්‍රියාවලිය අවහිර කරනු ඇත, සාමාන්‍යයෙන් පසුව ක්‍රියාවලිය අවසන් වේ. එය වෙනත් තැනක හෝ වෙනත් ආකාරයක කර්නල් අවහිරයක සිරවී ඇත්නම්, ක්‍රියාවලිය ඉවත් කිරීමට නැවත පණගැන්වීමකට පමණක් හැකිය. ( SIGKILLකර්නලය මඟින් සැකසූ පසු සොම්බි ක්‍රියාවලීන් දැනටමත් මිය ගොස් ඇත (තවදුරටත් පරිශීලක කේතයක් ක්‍රියාත්මක නොවනු ඇත), සාමාන්‍යයෙන් කර්නල් හේතුවක් තිබේ (ක්‍රියාවලිය අවසන් නොකිරීමට සිස්කල් එකක් බලා සිටීම "අවහිර කිරීමට" සමාන වේ).)

එසේම, ඔබට ක්‍රියාවලියක් සහ එහි සියලුම දරුවන් kill ාතනය කිරීමට අවශ්‍ය නම්, PID පමණක් නොව, ප්‍රතික්ෂේප කරන ලද PIDkill සමඟ ඇමතීමේ පුරුද්දට පිවිසෙන්න . සහතිකයක් නැත SIGHUP, SIGPIPEහෝSIGINT වෙනත් සංඥා එය පසු පිරිසිදු, සහ පිරිසිදු කිරීමේ කිරීමට අපත් ක්රියාවලිය රෑනක් ඇති හෝ (අවජාතක මතක?) මැලේරියාව.

පාරිතෝෂික නපුර: kill -9 -1වඩා තරමක් හානිකර ය kill -9 1(විසි කරන, වැදගත් නොවන වීඑම් එකක කුමක් සිදුවේ දැයි බැලීමට අවශ්‍ය නම් මිස මූලයක් ලෙස නොකරන්න)


3

ඔබ kill -9සාමාන්‍යයෙන් ක්‍රියාවලියකට අකමැති ඇයි

අනුව man 7 signal:

SIGKILL සහ SIGSTOP යන සං als ා අල්ලා ගැනීමට, අවහිර කිරීමට හෝ නොසලකා හැරිය නොහැක.

මෙයින් අදහස් කරන්නේ මෙම සං als ා වලින් එකක් හෝ ලැබෙන යෙදුමට කිසිදු වසා දැමීමේ හැසිරීමක් කිරීමට "අල්ලා" ගත නොහැකි බවයි.

kill -9ක්‍රියාවලියක් ක්‍රියාත්මක කිරීමට පෙර ඔබ කළ යුත්තේ කුමක්ද

ඔබ ක්‍රියාවලියට සං signal ාව යැවීමට පෙර:

  1. ක්‍රියාවලිය කාර්යබහුල නොවන බවට සහතික වන්න (එනම් "වැඩ" කිරීම); kill -9ක්‍රියාවලියට යැවීම අත්‍යවශ්‍යයෙන්ම මෙම දත්ත නැතිවීමට හේතු වේ.
  2. ක්‍රියාවලිය ප්‍රතිචාර නොදක්වන දත්ත සමුදායක් නම්, එය මුලින්ම එහි හැඹිලි ඉවත් කර ඇති බවට සහතික වන්න. සමහර දත්ත සමුදායන් එහි හැඹිලිය ගලායාමට බල කිරීම සඳහා ක්‍රියාවලියට වෙනත් සං als ා යැවීමට සහාය වේ.

3

මෙම ගැටළුව ස්වයංක්‍රීය කිරීමට උපකාරී වන පිටපතක් මම නිර්මාණය කර ඇත්තෙමි.

එය මගේ සම්පූර්ණ පිළිතුර මත පදනම් වේ 2 ට සමාන ප්රශ්නයක් ගැන stackoverflow .

ඔබට එහි සියලු පැහැදිලි කිරීම් කියවිය හැකිය. සාරාංශගත කිරීම සඳහා මම නිර්දේශ කරන්නේ සාධාරණ SIGTERMහා SIGKILL, හෝ SIGTERM, SIGINTසහ SIGKILL. කෙසේ වෙතත් මම සම්පූර්ණ පිළිතුරෙන් තවත් විකල්ප ලබා දෙමි.

කරුණාකර, එය ගිතුබ් ගබඩාවේ සිට kill ාතනය කිරීමට 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.