Android

Patayin ang utos sa linux

Linux Commands for Beginners 06 - Moving and Renaming Files

Linux Commands for Beginners 06 - Moving and Renaming Files

Talaan ng mga Nilalaman:

Anonim

Ang Linux ay isang mahusay at advanced na operating system, ngunit hindi ito perpekto. Minsan, ang ilang mga aplikasyon ay maaaring magsimulang kumilos nang hindi wasto at maging hindi responsable o simulan ang pag-ubos ng maraming mga mapagkukunan ng system. Hindi mai-restart ang mga hindi responsableng aplikasyon dahil ang orihinal na proseso ng aplikasyon ay hindi nag-i-down na ganap. Ang tanging solusyon ay upang mai-restart ang system o patayin ang proseso ng aplikasyon.

Mayroong maraming mga kagamitan na nagbibigay-daan sa iyo upang wakasan ang mga nakalihis na mga proseso sa kill sa pagiging ang pinaka-karaniwang ginagamit.

kill Utos

kill ay isang shell builtin sa karamihan ng mga Bourne na nagmula sa mga shell tulad ng Bash at Zsh. Ang pag-uugali ng utos ay bahagyang naiiba sa pagitan ng mga shell at ang standalone /bin/kill maipapatupad.

Gamitin ang type utos upang ipakita ang lahat ng mga lokasyon sa iyong system na naglalaman ng kill :

type -a kill

kill is a shell builtin kill is /bin/kill

Ang output sa itaas ay nagsasabi na ang shell builtin ay may prayoridad kaysa sa nakapag-iisang ehekutibo, at ginagamit ito tuwing nag-type ka ng kill . Kung nais mong gamitin ang binary, i-type ang buong landas sa file /bin/kill ., gagamitin namin ang Bash builtin.

Ang syntax ng utos ng kill tumatagal ng sumusunod na form:

kill…

Ang utos ng kill nagpapadala ng isang senyas sa mga tinukoy na proseso o proseso ng mga grupo, na nagiging sanhi ng kanilang pagkilos ayon sa signal. Kapag ang signal ay hindi tinukoy, ito ay default sa -15 (-TERM).

Ang pinaka-karaniwang ginagamit na signal ay:

  • 1 ( HUP ) - I-reload ang isang proseso. 9 ( KILL ) - Patayin ang isang proseso. 15 ( TERM ) - Magandang tumigil sa isang proseso.

Upang makakuha ng isang listahan ng lahat ng magagamit na mga signal, humiling ng utos na may pagpipilian na -l :

kill -l

Ang mga signal ay maaaring tinukoy sa tatlong magkakaibang paraan:

  1. Paggamit ng numero (hal., -1 o -s 1 ).Ginagamit ang awtomatikong "SIG" (hal., -HUP o- -s HUP SUNGSAP).Pagsasabing prefix ng "SIG" (hal. -HUP o -s HUP ).

Ang mga sumusunod na utos ay katumbas sa bawat isa:

kill -1 PID_NUMBER kill -SIGHUP PID_NUMBER kill -HUP PID_NUMBER

Ang mga PID na ibinigay sa utos ng kill ay maaaring isa sa mga sumusunod:

  • Kung ang PID ay mas malaki kaysa sa zero, ang signal ay ipinadala sa proseso na may ID na katumbas ng PID .Kung ang PID ay pantay sa zero, ang signal ay ipinadala sa lahat ng mga proseso sa kasalukuyang proseso ng grupo. Sa madaling salita, ang signal ay ipinadala sa lahat ng mga proseso na kabilang sa GID ng shell na humimok sa utos ng kill . Gumamit ng utos ng ps -efj upang tingnan ang mga ID group group (GID). Kung ang PID ay katumbas ng -1 , ang signal ay ipinapadala sa lahat ng mga proseso na may parehong UID bilang gumagamit ng panawag sa utos. Kung ang gumagamit ng invoking ay ugat, ang signal ay ipinadala sa lahat ng mga proseso maliban sa init at ang proseso ng kill mismo.Kung ang PID ay mas mababa sa -1 , ang signal ay ipinadala sa lahat ng mga proseso sa proseso ng grupo eq na may GID na katumbas ng ganap na halaga ng ang PID .

Ang mga regular na gumagamit ay maaaring magpadala ng mga signal sa kanilang sariling mga proseso, ngunit hindi ang mga kabilang sa iba pang mga gumagamit, habang ang root user ay maaaring magpadala ng mga signal sa mga proseso ng ibang gumagamit.

Pagtatapos ng Mga Proseso Gamit ang Utos ng kill

Upang wakasan o patayin ang isang proseso kasama ang utos ng kill , kailangan mo munang hanapin ang numero ng proseso ng ID (PID). Maaari mong gawin ito gamit ang iba't ibang mga utos tulad ng top , ps , pidof at pgrep .

Sabihin natin na ang browser ng Firefox ay naging hindi responsable, at kailangan mong patayin ang proseso ng Firefox. Upang mahanap ang browser na PID gumamit ng utos ng pidof :

pidof firefox

Ang utos ay mag-print ng mga ID ng lahat ng mga proseso ng Firefox:

6263 6199 6142 6076

Kapag alam mo ang mga numero ng proseso, maaari mong wakasan ang lahat ng mga ito sa pamamagitan ng pagpapadala ng signal ng TERM :

kill -9 2551 2514 1963 1856 1771

Sa halip na maghanap ng mga PID at pagkatapos ay wakasan ang mga proseso, maaari mong pagsamahin ang mga utos sa itaas sa isa:

kill -9 $(pidof firefox)

Reloading Proseso Gamit ang kill Command

Ang isa pang karaniwang kaso para sa kill ay ang pagpapadala ng HUP signal, na nagsasabi sa mga proseso upang i-reload ang mga setting nito.

Halimbawa, upang mai-reload ang Nginx, kailangan mong magpadala ng isang signal sa proseso ng master. Ang proseso ng ID ng proseso ng master ng Nginx ay matatagpuan sa nginx.pid file, na karaniwang matatagpuan sa direktoryo /var/run .

Gamitin ang utos ng cat upang mahanap ang master PID:

cat /var/run/nginx.pid

30251

Kapag nahanap mo ang master PID i-reload ang mga setting ng Nginx sa pamamagitan ng pag-type:

sudo kill -1 30251

Ang utos sa itaas ay dapat patakbuhin bilang ugat o gumagamit na may mga pribilehiyo ng sudo.

Konklusyon

Ang utos ng kill ay ginagamit upang magpadala ng signal sa mga proseso. Ang pinaka madalas na ginagamit na signal ay SIGKILL o -9 , na nagtatapos sa mga naibigay na proseso.

pumatay ng terminal