🐧 kill ΠΈ killall – Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΈ использованиС ΠΊΠΎΠΌΠ°Π½Π΄

by itisgood

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ kill ΠΈ killall.

Убийство” процСссов Π² Linux – это ваТная Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ администраторы ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ слуТбами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²ΠΈΡΠ°ΡŽΡ‚ ΠΈ Π·Π°Π²ΠΈΡΠ°ΡŽΡ‚, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ±ΠΈΡ‚ΡŒ процСсс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π½Π΅Π³ΠΎ.

Командная строка Linux ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов уничтоТСния процСссов.

Π˜ΠΌΠ΅Ρ‚ΡŒ нСсколько инструмСнтов для этой Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠ°ΠΊ это принято Π² Linux, ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ создаСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС ΠΎΠ½ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°.

Π’ этом ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ ΠΌΡ‹ объясним Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ kill ΠΈ killall Π² Linux.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

kill ΠΈ killall – Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°?

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ, kill Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ процСсс, Π° killall ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ нСсколько процСссов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Π‘Π°ΠΌΡ‹ΠΉ Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ – Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±ΠΈΡ‚ΡŒ процСсс Π² Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ kill ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.

$ kill 1234

Команда killall Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, принимая имя процСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ, ΠΈ убивая всС процСссы, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Π²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½ΠΈ.

$ killall firefox

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ всС процСссы с ΠΈΠΌΠ΅Π½Π΅ΠΌ “firefox” Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹.

НСваТно, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π»ΠΈ Ρƒ вас Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 ΠΎΠΊΠ½ΠΎ Firefox ΠΈΠ»ΠΈ 50.

ВсС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ послС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ killall.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ нСсколько процСссов ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ kill, Π½ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ процСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.

$ kill 1234 1233 1232

Π˜Ρ‚Π°ΠΊ, Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… различия:

  • kill ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ID Π½ΠΎΠΌΠ΅Ρ€Π° процСссов Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ ΡƒΠ±ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ процСсс Π·Π° Ρ€Π°Π· (Ссли Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ нСсколько ID процСссов Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅).
  • killall позволяСт Π½Π°ΠΌ ΡƒΠ±ΠΈΠ²Π°Ρ‚ΡŒ процСссы ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ всС процСссы, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… совпадаСт имя.

kill -9 ΠΈ killall -9

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ kill ΠΈ killall ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ процСсс Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ изящно, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ сигнал SIGTERM ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ процСссу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ процСсса.

Π­Ρ‚ΠΎ Π²Π΅ΠΆΠ»ΠΈΠ²Ρ‹ΠΉ способ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ процСсса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ слуТбС врСмя Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ запись Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π°, Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ соСдинСния, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Π΅ процСссом, ΠΈ Ρ‚.Π΄.

ЕдинствСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ упрямая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сигнал SIGTERM.

Π­Ρ‚ΠΎ происходит, Π² частности, Π² Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ “зависшСм” процСссС.

Однако kill ΠΈ killall ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для посылки мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сигналов процСссу ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ самыС упрямыС ΠΈΠ· Π½ΠΈΡ… Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сигнала SIGKILL.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ сигнал SIGKILL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ kill ΠΈΠ»ΠΈ killall, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ процСсс, послав сигнал SIGKILL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ kill:

$ kill -9 1234

ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ процСсса ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов ΠΏΡƒΡ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигнала SIGKILL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ killall:

$ killall -9 firefox

Когда это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, слСдуСт ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ сигнал SIGTERM процСссу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ.

НСмСдлСнноС ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ слуТбы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сигнала SIGKILL эффСктивно всСгда ΠΈ даст Π²Π°ΠΌ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ процСсс Π½Π΅ успСл Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ kill ΠΈ killall Π² Linux.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрСли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сигналов SIGTERM ΠΈΠ»ΠΈ SIGKILL ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ»ΠΈ нСскольким процСссам.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

 

You may also like

Leave a Comment