it-swarm-eu.dev

Jak zabiju procesy v Ubuntu?

Jak lze zabít všechny procesy spuštěné svým vlastním účtem typu non-root?

Mám nějaké spřádací smbd procesy, které jsem způsobil z mého Windows stroje, a tak jsem se připojil k linux serveru a chci je zabít. Nemám oprávnění restartovat služby nebo restartovat počítač.

161
djangofan

Chcete-li zabít všechny procesy, ke kterým máte oprávnění zabíjet, jednoduše spusťte příkaz

kill -15 -1 nebo kill -9 -1 v závislosti na požadovaném chování (použijte man kill pro detaily)

Chcete-li zabít konkrétní proces, řekněme, firefox, jednoduše spusťte

pkill firefox nebo killall firefox v závislosti na požadovaném chování: Jaký je rozdíl mezi 'killall' a 'pkill'?

Pokud chcete vidět, jaké procesy běží, použijte příkaz

ps -ef

Pokud chcete vyhledat všechny procesy podle uživatelských bobů, může to pomoci

pgrep -l -u bob

nebo

ps -ef | grep bob
178
ste_kwr

Použijte Sudo kill <pid> nebo Sudo killall <process-name>

61
Chris Wayne

Zkusme ještě něco:

Sudo apt-get install htop 

Příkaz top je tradiční způsob zobrazení využití systémových prostředků a zobrazení procesů, které využívají nejvíce systémových prostředků. Nahoře zobrazuje seznam procesů, přičemž ty procesy využívají nejvíce CPU nahoře.

htop zobrazuje stejné informace se snadnějším pochopením rozložení. Umožňuje také vybrat procesy pomocí kláves se šipkami a provádět akce, jako je jejich zabití nebo změna jejich priority F klíče.

21
Fantomas

Můžeš použít

ps -ax | grep application name 

Pokud vaše hledání firefox napište do terminálu jako ps -ax | grep firefox, zobrazuje ID procesu odpovídající aplikace. Aplikaci můžete zastavit příkazem kill, pokud proces id = 1317,

kill -9 1317
17
Xman Classical

Použil bych xkill. Do terminálu zadejte xkill a klikněte do okna nebo zadejte xkill a ID procesu a bude ukončena.

Zjistěte více o xkill na x.org.

14
Alvar

Chcete-li se pokusit zabít všechny procesy vlastněné uživatelem username, spusťte:

pkill -U username
9
user129146

Rozdělil bych váš problém na 2 části:

1) Jak najdu procesy, které jsem začal? Spustit toto:

ps -u `whoami`

whoami je pouze v případě, že neznáte název účtu, který používáte, jinak jednoduše zadejte název účtu bez zpětných uvozovek.

Zobrazí se seznam všech procesů, které může váš účet smazat.

2) Příkaz ps vypíše číslo procesu, TTY, čas a CMD. ID procesu je první sloupec. Toto číslo použijte k zabití procesu. Při zabíjení procesu buďte opatrní. Pokud zabijete nesprávný proces, můžete něco přerušit. K zabití procesu použijete příkaz kill, který do procesu pošle SIGNÁL. Signál ukazuje, co by měl proces dělat. Například odeslání -1 proces ho požádá o opětovné načtení konfiguračního souboru; odeslání -2 je ekvivalentní stisknutí Control + C v tomto procesu; -9 způsobí, že jádro opustí proces, aniž by to procesu oznámilo.

Předpokládejme, že ps -u whoami vrátil něco podobného

  PID TTY          TIME CMD
 4333 pts/1    00:00:00 fish
 4335 ?        00:00:00 fishd
 4816 ?        00:00:00 intellij
 4868 ?        00:50:42 Java
 4939 ?        00:00:19 fsnotifier64
 7667 ?        02:49:08 firefox
 7698 ?        00:00:00 unity-webapps-s

A chtěli jste zabít proces firefox podle jeho ID procesu, pak byste udělali:

kill -1 7667

Potom znovu spustíte stejný příkaz ps a zkontrolujete, zda proces stále běží. Pokud stále běží, proveďte

kill -2 7667

pracuji na -9.

Chcete-li zabít všechny procesy spuštěné vaším účtem, zadejte kill <level> -1. Stejné jako dříve: propracovejte se až k -9.

Pokud znáte název procesu, můžete jednoduše jít killall <processname>, kde se snažíte zabít. Například: killall fish (ryba, v tomto smyslu je Friendly Interactive Shell).

Dokumentaci pro killall najdete zde: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

8

Pomocí této aplikace můžete prohlížet výpisy programů

nainstalovat htop

Sudo apt-get install htop

for see process and kill process Můžete jej nainstalovat a jednoduše smazat

enter image description here

3
Reza Bojnordi

... Všechny procesy v systému Linux reagují na signály. Signály jsou os-úrovni způsob, jak programům ukončit nebo změnit jejich chování.

Jak odeslat procesní signály pomocí PID

Nejběžnějším způsobem předávání signálů programu je příkaz kill.

Jak byste mohli očekávat, výchozí funkcí tohoto nástroje je pokus o zabití procesu:

kill PID_of_target_process

Tím se do procesu odešle signál TERM. Signál TERM říká, že proces má být ukončen. To umožňuje programu provádět čisticí operace a hladce ukončit.

Pokud se program chová a při ukončení signálu TERM nevystoupí, můžeme signál eskalovat předáním signálu KILL:

kill -KILL PID_of_target_process

Jedná se o speciální signál, který není odeslán do programu.

Místo toho je dána jádru operačního systému, který proces vypíná. Používá se k obcházení programů, které ignorují signály, které jim byly zaslány ...

2
jackal404258

Napsal jsem malý skript, který jsem napsal, abych zabil (v mém případě) Skype:

kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`

Ale zjistil jsem, že i když to fungovalo, další den to nefungovalo, protože pid měl jinou délku a tam bylo pro různé prostory jiné

Pak jsem narazil na tento web a pokusil se

pgrep -l -u justin

který pohodlně vydává procesy ve formátu

[pid] [name]

Takže jsem upravil svůj kód ve skriptu takto:

kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`

Co to dělá, jsou trubky, které běží všechny procesy justin (které lze změnit na libovolné uživatelské jméno) na grep, které hledá skype (to lze změnit na váš proces) a potom potrubí, které vedou k cut, které pak přečte pouze PID a nakonec použije tento PID v příkazu kill k jeho zabití.

2
justingiffard

Zde je jednoduchý python skript, který jsem napsal, killProcess.py), který přijme cokoli jako vstup a zabije to.

Tento skript jsem napsal, protože mám mnoho procesů python nebo uzlových procesů, které chci zabíjet jednotlivě a programově. Nemohu použít „killall python“, protože zastaví procesy, které potřebuji) aby běžel.

Pojmenujte soubor "killProcess.py" a potom přidejte název skriptu, který chcete zastavit. E.g .: python killProcess.py runnablePoller.py zabije soubor runnablePoller.py

import os;
import sys;
for arg in sys.argv:
    if(arg!="killProcess.py"):
        process=arg;
        print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
    try:
        pid=int(p);
        print(pid); 
        break;
    except:
        continue;

os.system("kill "+str(pid));
1
nick carraway

Použil jsem následující postup k zabití procesu v Ubuntu ::

Krok 1: Získejte pid procesu pomocí grep nebo můžete použít -C také:

ps aux | -C 'filename'

nebo

ps -ef | -C 'filename'

nebo

ps aux | grep 'filename'

nebo

ps -ef | grep 'filename' 

Krok 2: Poznamenejte si číslo pid.

Krok 3: Použijte příkaz 'kill' spolu s číslem pid jako:

kill pidnumber
0
Akash Kandpal

Ctrl+Alt+Delete lze nastavit tak, aby vám poskytl přístup ke správci úloh, odkud je snadné zabíjet procesy pomocí několika kliknutí, a pro mě je menší požadavek na zapamatování příkazů, které by mohly být škodlivé, pokud by byly provedeny špatně:

http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/

https://www.itsmarttricks.com/a-guide-to-kill-pkill-and-killall-commands-to-stop-the-process-in-linux-kill-process-linux/ =

0
Cedric Eveleigh