Každý vie, ako zabiť program pomocou Správcu úloh v systéme Windows alebo Force Quit v OS X, ale niekedy je užitočné ukončiť program pomocou príkazového riadku. Narazil som na niekoľko situácií, kedy program odmietol ukončiť prostredníctvom Správcu úloh, aj keď som sa pokúsil zabiť základný proces. Force Quit má svoje vlastné zvláštnosti a nie vždy zabíja program tak, ako by mal. Vtedy môžete využiť silu príkazového riadku.
V tomto článku prejdem príkazy na zabitie programu vo Windows, OS X a Linux. Je zaujímavé, že zvyčajne existuje viac ako jeden príkaz na dosiahnutie tohto cieľa, takže sa pokúsim spomenúť rôzne, ktoré som použil. Nie je to úplný zoznam, takže ak použijete iný príkaz, ktorý tu nie je uvedený, dajte nám vedieť v komentároch.
Windows – TSKILL a TASKKILL
V systéme Windows môžete na zastavenie programu použiť dva príkazy: TSKILL a TASKKILL. TSKILL je jednoduchší a menej výkonný príkaz, ale robí svoju prácu dobre. Napríklad, ak používate Microsoft Word, názov procesu je winword.exe. Ak chcete zabiť Word z príkazového riadku, stačí zadať nasledujúci príkaz:
tskill winword
To zabije Word a stratíte všetky neuložené údaje, takže pri ich používaní musíte byť opatrní. Vyskúšal som to na neuloženom dokumente programu Word a keď som to spustil, jednoducho zmizol, žiadne výzvy na uloženie dokumentov. To je do značnej miery pravda o všetkých príkazoch, ktoré tu spomeniem, pretože o to ide. Môžete okamžite zabiť program bez akýchkoľvek otázok.
Jedna vec, ktorú treba poznamenať, je, že väčšinu času, kedy sa tento príkaz používa, sa používa s parametrom /A. /A povie príkazu, aby ukončil proces spustený v rámci všetkých relácií. Takže zvyčajne by ste zadali nasledujúci príkaz, aby ste sa uistili, že proces je zabitý:
tskill / Winword
Druhý príkaz, ktorý má viac možností a je výkonnejší, je TASKKILL. Ak sa pozriete na stránku pomocníka pre TASKKILL, pochopíte, čo tým myslím:
Ak chcete mať väčšiu kontrolu a možnosti na zabitie programu vo Windows, použite TASKKILL. Na začiatok môžete program zabiť pomocou nasledujúceho príkazu:
taskkill /F /IM winword.exe
Upozorňujeme, že pri použití príkazu TASKKILL musíte použiť .EXE. /F znamená násilne ukončiť proces. /IM znamená názov obrázku, teda názov procesu. Ak chcete zabiť pomocou ID procesu (PID), musíte použiť /PID namiesto /IM. /T je skvelé, pretože zabije všetky podriadené procesy spustené zadaným procesom.
TASKKILL môžete použiť aj na vzdialené pripojenie k inému systému a ukončenie procesu na tomto vzdialenom systéme. Čo sa mi tiež páči, je možnosť používať zástupné znaky v TASKKILL.
OS X/Linux – KILL a KILLALL
V OS X a Linux máte dva príkazy na zabíjanie procesov: KILL a KILLALL. Musíte ich spustiť v okne terminálu. Ak chcete zabiť program, musíte použiť názov programu alebo ID procesu. Existuje niekoľko spôsobov, ako môžete tieto informácie nájsť. Jedným zo spôsobov je cez Monitor aktivity.
Vyžaduje si to však rozhranie GUI. Ak na zabitie procesu používate príkazový riadok, môžete pomocou príkazového riadka nájsť aj informácie o procese. Dva príkazy, ktoré prichádzajú na myseľ, sú top a ps -ax .
top vám poskytne zoznam procesov s PID a názvom programu tiež zoradený podľa využitia CPU. Je to rýchly spôsob, ako nájsť proces, ktorý chcete zabiť. ps -ax vám poskytne zoznam zoradený podľa PID a cesty programu. Je to trochu iné ako top.
Teraz na zabitie programu v OS X. Ak chcete ukončiť konkrétny proces, jednoducho zadajte nasledujúci príkaz:
zabiť -9 83002
83002 je terminálový proces a 9 prostriedkov na zastavenie procesu. Môžete použiť iné čísla, napríklad 3, čo znamená Ukončiť, alebo 6, čo znamená Prerušiť. Väčšinou však zostanete pri 9. Môžete tiež použiť príkaz KILL na zabitie všetkých spustených procesov, hoci tento príkaz by ste pravdepodobne nikdy nemali používať.
zabiť -TERM -1
Tam, kde je KILL užitočný na zabitie jedného procesu alebo všetkých procesov, KILLALL sa používa na zabitie skupiny procesov. Ak napríklad používate prehliadač Google Chrome, môžete mať spustených 10 procesov prehliadača Chrome. Bolo by naozaj nepríjemné použiť KILL desaťkrát na vypnutie Chrome. Namiesto toho môžete použiť KILLALL takto:
killall Evernote
alebo
killall 'Google Chrome'
Všimnite si, že musíte použiť jednoduché úvodzovky alebo čokoľvek dlhšie ako jedno slovo. Tiež, ak proces nebeží pod vaším menom, ale namiesto toho beží pod rootom, musíte použiť nasledujúci príkaz:
sudo killall 'Google Chrome'
alebo
sudo killall -9 'Google Chrome'
Opäť platí, že 9 vysiela špecifický signál skôr KILL ako TERM. Sudo je potrebné iba vtedy, ak sa zobrazí chyba o tom, že nemáte povolenie. V opačnom prípade môžete použiť program killall alebo program killall -9 . V OS X je príkaz KILLALL naozaj užitočný, keď nemôžete vynútiť ukončenie programu. Nemusíte poznať ID procesu, čo je fajn. Stačí zadať názov a všetky procesy spojené s týmto menom budú zabité.
Tento článok vám mal poskytnúť pokročilejšie metódy na zabitie programu v systémoch Windows, OS X a Linux. Ak máte nejaké otázky týkajúce sa zabíjania programu pomocou príkazového riadku, napíšte komentár a pokúsim sa vám pomôcť. Užite si to!