Nogalināt procesu
Lai nogalinātu procesu, mēs izmantosim nedaudz rīku: nogalināt , pkill , un Nogalini visus . Visi no tiem principā darbojas vienādi.
Šie rīki nebeidz procesu paši. Tā vietā viņi nosūta norādīto signālu mērķa procesam vai procesu grupām. Ja neesat norādījis nevienu konkrētu signālu, SIGTERM tiek nosūtīts kā noklusējuma signāls. Tomēr ir vairāki atbalstīti signāli, piemēram, SIGKILL, SIGHUP utt.
Šeit ir pamata komandu struktūra nogalināt , pkill un Nogalini visus .
$nogalināt <signal_or_options> <PID(s)>
$ pkill<signal_or_options> <process_name>
$Nogalini visus <iespēja> <process_name>
Kad vien iespējams, ieteicams lietot nogalināt .
Nogalināt , pkill un Nogalini visus atrašanās vietas
Nogalināt ir noklusējuma komanda procesa pārtraukšanai.
$nogalināt -palīdzēt
Tas tiek palaists no direktorija /usr /bin.
$kuru nogalināt
Ieguvums ir tas, ka tas arī ļauj piekļūt pkill, citai komandai, kas līdzīga kill, kas ļauj pārtraukt procesu, pamatojoties uz viņu vārdu.
$pkill-palīdzēt$kurupkill
Dažās lietotnēs tiek izpildīti vairāki vienas izpildāmās programmas procesi. Ja vēlaties pārtraukt vairākus procesus ar tādu pašu nosaukumu, izmantojiet rīku killall.
$Nogalini visus -palīdzēt$kuru Nogalini visus
Tiek uzskaitīti visi procesi
Pirmais uzdevums ir identificēt PID (procesa identifikācijas numuru) un/vai procesa nosaukumu, kuru vēlaties pārtraukt. Šajā piemērā es izmantošu Firefox kā mērķa procesu, lai pārtrauktu. Izpildiet šo komandu, lai uzskaitītu visus sistēmā esošos procesus.
$ps -TO
Lielākajai daļai uzdevumu mums ir jāzina mērķa procesa PID. Tomēr noteiktās situācijās piemērotāks ir izmantot procesa nosaukumu.
Ja zināt precīzu mērķa procesa nosaukumu, varat tieši iegūt PID, izmantojot pidof .
$pidof <process_name>
Vēl viens interesants rīks informācijas iegūšanai par mērķa procesu ir pgrep. Tas ir īpaši izstrādāts šim nolūkam.
$pgrep<iespēja> <process_name>
Nogalināt signālus
Tagad apskatīsim signālus, kurus atbalsta nogalināšanas rīki. Tas ir milzīgs saraksts. Protams, ne visi no tiem ir nepieciešami katrā atsevišķā situācijā. Patiesībā lielākajai daļai situāciju ir nepieciešami tikai daži signāli.
Vispirms apskatīsim sarakstu, kas nogalina balstus.
$nogalināt -viņi
Ir divi veidi, kā definēt, kādu signālu vēlaties nosūtīt. Varat izmantot pilnu signāla nosaukumu vai tā ekvivalento vērtību.
$nogalināt-<signāls> <PID>
Vai
$nogalināt-<signāla_vērtība> <PID>
Populārākie signāli ir SIGHUP (1), SIGKILL (9) un SIGTERM (15). Parasti SIGTERM ir noklusējuma un drošākais veids, kā pārtraukt mērķa procesu.
Pkill gadījumā atbalstītais signāls ir tāds pats kā kill. Tomēr killall gadījumā atbalstīto signālu skaits un signālu nosaukumi ir atšķirīgi.
$Nogalini visus -viņiNogalināt procesu
Lai nogalinātu procesu, mums ir nepieciešams šī mērķa procesa PID. Pieņemot, ka jums ir PID, palaidiet šādu komandu, lai to nogalinātu.
$nogalināt <iespēja> <PID>
Šeit Kill nosūtīs PID (-iem) noklusējuma signālu SIGTERM. Ja vēlaties pārtraukt vairākus procesus, miniet visus PID, kas atdalīti ar atstarpi.
$nogalināt <iespēja> <PID_1> <PID_2>
Norādīsim, kādu signālu vēlaties nosūtīt mērķim.
Vai vēlaties pārtraukt procesu, izmantojot tikai tā nosaukumu? Izmantojiet pkill.
$pkill<iespēja> <process_name>
Dažos gadījumos konkrētā lietojumprogrammā var darboties pārāk daudz procesu. Visu šo PID ievadīšana ir laikietilpīga un nogurdinoša. Šādos scenārijos mēs izmantosim killall rīku. Tas ir diezgan līdzīgs nogalināšanai, bet tas darbojas ar procesa nosaukumu.
$Nogalini visus <iespēja> <process_name>Piemēram, palaižot Firefox, tas sāk nedaudz procesu. Lai nogalinātu visus uzreiz, izpildiet šo komandu.
$Nogalini visusfirefox
Vai vēlaties pārtraukt visus procesus, kas darbojas saskaņā ar noteiktu lietotāju? Killall var paveikt darbu, bez problēmām. Esiet piesardzīgs, palaižot šo, jo tas var sabojāt sistēmu un radīt citas problēmas. Tas nedarbosies, ja mēģināsit pārtraukt procesus, kas darbojas citam lietotājam ar augstākām tiesībām.
$Nogalini visus -u <lietotājs>Atļauju konflikts
Linux lietotāju hierarhijas raksturīgās iezīmes attiecas arī uz gadījumiem, kad gatavojaties pārtraukt lietojumprogrammas darbību. Lietotājs nevar pārtraukt procesus, kas darbojas ar augstākām privilēģijām, tikai procesus ar vienādām/zemākām tiesībām. Turklāt lietotājs nevar manipulēt ar procesiem, kas darbojas cita lietotāja pakļautībā.
Piemēram, ņemsim vērā komandu jā. Ja to sauc par pašreizējo lietotāju, to var viegli pārtraukt, izmantojot kill.
$nogalināt Jā
Tagad, ja būtu Jā skrēja zem sakne ? Zvanīšana nogalināt, jo pašreizējais lietotājs nedarbosies.
Tāpat, ja process noritēja cita lietotāja pakļautībā, to nevar pārtraukt no cita lietotāja konta.
Galīgās domas
Šajā rakstā tika parādīti tikai šo komandu pamati un parastais lietojums. Šie nogalināšanas rīki spēj vairāk. Lai iegūtu padziļinātas zināšanas par jebkura rīka spējām, iesaku apskatīt manu lapu.
$cilvēks nogalināt$cilvēkspkill
Izbaudi!