GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zjistit ID procesu (pid) běžícího terminálového programu?

Spouštím v terminálu program, ze kterého nemohu uniknout pomocí CtrlC a že chci zabít. Jak najdu jeho PID?

Nejlepší odpověď

Otevřete jiný terminál a spusťte ps ax | grep foo kde foo je název nereagujícího programu. To by mělo vrátit řádek výstupu, který vypadá asi takto:

$ ps ax | grep firefox
2222 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.9/firefox
2231 ?        Sl   514:36 /usr/lib/firefox-3.6.9/firefox-bin
30290 pts/2    S+     0:00 grep --color=auto firefox

První pole každého řádku výstupu je číslo, které představuje ID procesu programu odpovídající grep (poslední, který představuje grep, můžete klidně ignorovat sám.

Chcete-li zastavit problematický proces, proveďte:kill pid kde pid je ID procesu programu. Možná budete muset použít svůj úsudek, který ze zápasů je třeba kill ed, nebo můžete použít top namísto. Pomocí kill sám odešle SIGTERM, který byste měli vyzkoušet jako první, protože umožňuje programu, aby po sobě řádně uklidil. Pokud SIGTERM selže, zkuste SIGHUP, což je silnější lék:kill -HUP pid . Pokud vše ostatní selže, pošlete SIGKILL. Ale měli byste to udělat pouze jako poslední možnost, protože SIGKILL způsobí, že jádro okamžitě ukončí proces bez možnosti vyčištění. To může občas vést k poškození dat nebo jiným problémům. Takže opět pošlete SIGKILL pouze jako poslední možnost. Chcete-li tak učinit, proveďte kill -KILL pid nebo kill -9 pid .

Pokud používáte grafické rozhraní, samozřejmě nemusíte šaškovat s těmito šílenými věcmi z příkazového řádku, abyste svou práci dokončili. Stačí otevřít „Monitor systému“, přejděte na kartu Procesy, vyberte proces, který chcete zastavit (Hm, mohl by to být ten, který využívá 90 % CPU?) a klikněte na něj pravým tlačítkem. Protože je proces již zastaven, (to je ten problém, že?) z výsledné nabídky vyberte Ukončit proces nebo Ukončit proces.

Úvěr na koanhead


Ubuntu
  1. Jak restartovat (nebo resetovat) běžící proces v Linuxu?

  2. Jak funguje proces upgradu Ubuntu?

  3. Jak najdu ID procesu v Ubuntu?

  1. Jak najít a zabít zombie proces v Linuxu

  2. Přizpůsobte si terminál na Ubuntu 20.04 – jak na to?

  3. Jak zabít proces běžící na konkrétním portu v Linuxu?

  1. Jak najdu a ukončím proces v Ubuntu

  2. Jak získat ID procesu pro ukončení procesu nohup?

  3. Jak získat pid procesu a vyvolat na něj kill -9 ve skriptu shellu?