Mange ganger må vi drepe en prosess gjennom en terminal. Hvis vi vet hele prosessnavnet (for eksempel: kate) vi har ingen problemer, et enkelt:
killall kate
Det løser problemet for oss ... men hva skjer hvis vi ikke vet nøyaktig navnet på prosessen?
Ved de anledninger må vi liste opp alle prosesser med ps til som vist i følgende skjermbilde:
Se deretter etter PID for prosessen, som vi i dette tilfellet ser etter PID for kate:
Gjør da en:
kill 3808
Og voila, der dreper vi prosessen.
Vel ... i en enkelt linje kan vi søke etter prosessen (uten å måtte vite hele navnet), finne ut PID, og også drepe den:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill
Som du kan se:
- Vi lister opp prosessene (ps til)
- Vi vet ikke det fulle eller nøyaktige navnet på kate (hei, det kan være kate-editor eller noe sånt) så vi filtrerer bare etter kat (grep kat)
- Men vi får to prosesser relatert til kat hvis vi bare bruker dette filteret, en som er kate-prosessen, og en annen som er prosessen som vi aktiverer for filtrering, jeg gir deg et skjermbilde slik at du kan fullføre forståelsen: (Legg merke til at det er to linjer, det vil si to prosesser)
- For å unngå det som ble forklart før, lager vi et nytt filter (grep -v grep). Hva vi vil gjøre det motsatte ... hvis vi filtrerer ved hjelp av grep, vil det bare vise treffene med filteret, vel med grep -v Vi instruerer deg om IKKE å vise kampene, men å vise det som ikke stemmer overens. Jeg viser deg skjermbildet av hvordan resultatet så langt vil være: (Legg merke til at nå bare kates prosess vises)
- Vel, vi har allerede isolert prosessen vi vil drepe, nå må vi bare trekke ut PID, som er det andre tallet, det vil si 4062. Og PID er i 2. kolonne (Første kolonne inneholder bruker med UID 1), så ved å bruke awk kan vi si at det bare viser fra den linjen hva den finner i 2. kolonne (awk '{print $ 2}'). Som bare viser oss prosessnummeret, det vil si at bare PID vises i terminalen.
- Men vi vil ikke vise PID, det vi ønsker er å drepe prosessen med den PID ... så vi vil gjøre det, vi overfører det vi har så langt til kommandoen drepe og klar (xargs dreper)
- Hva betyr det xargs? ... enkelt, i dette tilfellet kan vi ikke passere PID for å drepe bare med rør ( | ), dette er rett og slett ikke nok, så xargs (som gjør det mulig å overføre verdier eller data og deretter utføre eller drepe dem) er det som vil tillate oss å fullføre jobben.
Og her ender det 😀
Ja ... Jeg vet at dette virker litt komplekst, og det er nettopp derfor jeg har prøvd å forklare det best jeg kunne.
Jeg vet at muligens få vil trenge denne kommandoen, men målet med denne artikkelen er det samme som DesdeLinux, å lære dem noe nytt hver dag, og alltid prøve å få dem til å miste sin frykt eller frykt for Linux ... og personlig vil jeg også gjerne at de skal lære å bruke terminalen uten frykt 😉
Uansett ... Jeg håper du har funnet det interessant, jeg fortsetter å lære å bruke awk som er virkelig flott hehe.
Hilsen
34 kommentarer, legg igjen dine
Det er sant, awk har vært veldig nyttig for meg, og jeg tror at alle som trenger å manipulere strukturerte tekstfiler, anbefales på det sterkeste å vite hvordan de skal brukes.
Jeg har bare et spørsmål (som ikke har noe å gjøre med inngangen: D), hvordan (og med hvilket program) gjorde du den uskarphetseffekten som lar deg markere en del av skjermbildet?
Hilsener.
Testing hvis dette fra formatet det fungerer og hvis ikke noen forteller meg hvordan jeg skal gjøre det
Tusen takk.
Vel ja ... Jeg har gjenoppdaget Linux nå som jeg vet hvordan jeg skal jobbe med HAHAHAHA.
Om effekten og slikt, ingenting ... det er bare Gimp 😀
Jeg velger den delen som jeg vil markere, klipper den med [Ctrl] + [X] og limer den inn som et nytt lag, så velger jeg det nederste laget (som er det jeg vil dekke) og går til Filtre- »Gaussisk (eller hva du skriver hehe) og voila.
Nå, for å gi den den mørke effekten, lager jeg ganske enkelt et nytt lag (hvit bakgrunn) og plasserer det mellom disse to som jeg allerede hadde, jeg gir det svart farge og i gjennomsiktighetslinjen (øvre høyre hjørne) flytter jeg det dit jeg oppnår ønsket effekt .
Hilsen og takk for kommentaren 🙂
Stor!!
Hvis prosessen er fra et program som er synlig, er det ikke noe mer behagelig enn å skrive xkill på konsollen, klikk på programmet for å drepe, og voila.
Klikk på programmet for å drepe
hehe ja ... det er forutsatt at du har en GUI hehe.
Det er riktig, det er derfor jeg sa "hvis prosessen er fra et program som er synlig."
Det er lettere å klikke på knappen med "X". GNOME Shell har fortsatt den knappen, ikke sant? :-D.
Hvis programmet er frossent (som er den viktigste grunnen til at du trenger å drepe prosessen), er det logisk at denne knappen ikke vil svare uansett hvor mye du trykker på den.
Jeg tror GNOME Shell vil fjerne det snart, slik at du kan se det taktile vidunderet ved å lukke vinduer ved å dra dem til bunnen av skjermen som i Windows 8. Det er unødvendig å si at på widescreen-skjermer er det en fantastisk øvelse.
Jeg forstår nå. I så fall foretrekker jeg Control + Alt + Esc (i KDE).
Jeg gleder meg til å se de nye forhåndsvisningene av GNOME Shell, de er en skikkelig godbit.
Dette gjør det samme, men mindre er skrevet.
I dette tilfellet tok jeg leafpad som et eksempel, det er derfor bladet vises i grep
ps -e | grep leaf | awk '{print $1}' | xargs kill
Hilsen
Puh! Min sønn, prøv å kjøre "pgrep kat", som er "pgrep" for noe.
Og å utføre "man pgrep". Og "man pidof", som noen ganger "pidof" kan hjelpe deg.
Og å utføre «ps aux | grep [k] at ", som ikke vil returnere som et resultat" prosessen som vi aktiverer for filtreringen "som du kommenterer, og dermed sparer du arbeid.
Hilsener!
Oh, og "pkill", som gjør det du leter etter. For eksempel: "pkill kat".
Åh, interessant ... Jeg kjente ikke pgrep 🙂
Takk for tipset 😀
Takk til deg og artiklene dine.
Forresten, i https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ kommentere teknikken for å bruke kommandoer som «ps aux | grep [n] programnavn ", de forklarer det bedre enn meg der.
Hilsener!
Takk for lenken 😀
Det er den flotte tingen DesdeLinux eksisterer ... det spiller ingen rolle om du er bruker, redaktør eller administrator, vi lærer alltid alle nye ting 🙂
Hilsen og takk igjen venn.
Tusen takk alle for din tid og dedikasjon, det gjør det verdt å besøke og lese dette nettstedet flere ganger om dagen.
Takk igjen.
KZKG ^ Gaara er nesten alltid den samme, når det gjelder slike tips, er det en annen person som gjør det samme med en enkel kommando. Men jeg gratulerer ham, han bidrar alltid kontinuerlig.
hehe jepp ... Jeg vet hvordan jeg skal gjøre X osa og jeg kommer hit og deler metoden, men så deler de en enklere måte å oppnå det samme på, hahaha, men med dette vinner vi alle, ikke sant? 😀
Det stemmer 0 /
Hahahaha, du går alltid på den mest kompliserte måten. 😀
HAHAHA ja, jeg har alltid tenkt: «Hvis jeg vet hvordan jeg gjør det på den vanskelige måten, så vil jeg vite hvordan jeg skal lære å gjøre det på den enkle måten uten problemer.»Og ... omvendt fungerer ikke det samme hahaha.
Problemet ville være hvis vi har to prosesser med et lignende navn.
For eksempel en prosess med kate, og en annen prosess med ... mmm ... la oss si kater xD
Med en slik kommando ville vi drepe dem begge, ikke sant?
Vel, det ville skje 🙂
TT stakkars Kate. Jeg bruker er xkill i KDE den lanseres raskt med "ctrl + alt + esc" eller også med "ctrl + Esc" åpen "Systemaktiviteter" og gjør det grafisk. Nå må denne prosedyren gjennom terminalen læres, selv om jeg har en hjemmeserver med stabil debian og som ikke henger i det hele tatt.
Flott! akkurat nå som jeg går på operativsystemkurset og jeg må utføre oppgaver med terminalen, var opplæringen din til stor hjelp! Takk
Veldig godt forklart, flott bloggen jeg nettopp har møtt, jeg peker den på favoritter. Takk skal du ha.
Vel, det er bra, selv om det noen ganger ikke kan drepes ...
pkill -9
pkill -9 "prosessnavn"
i forrige kommentar la jeg «» men det kom ikke ut xD
god natt, jeg har tid til å lese feeden din, og i dag bestemte jeg meg for å prøve denne kommandoen ps ax | grep krom | grep -v grep | awk '{print $ 1}' | xargs kill og jeg får følgende kill error: Kan ikke finne prosess "?" med den lille erfaringen jeg har i bash bestemte jeg meg for å gjøre noen modifikasjoner og til slutt sitter jeg igjen med ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill gitt at ps -A brukes til å vise alle prosesser i sammendragsform, og den andre anomalien var at den kastet TTY «?» og det fungerte for meg tusen takk. Jeg liker bloggen din, hilsener
Takk compa, du kan ikke forestille deg hvor mange problemer du nettopp løste for meg med denne kommandoen.
Hilsener !!
TAKK !!!!
Utmerket innlegg. Akkurat det jeg lette etter og ikke visste hvordan jeg skulle gjøre det, og forklaringen var veldig bra.
Hilsener.