GNU/Linux >> Znalost Linux >  >> Linux

Odstranění nepořádku řízení procesů pomocí ps nebo systemd

Jednou z mých nejméně oblíbených činností jako podpůrného inženýra bylo pokusit se prosít hromadu trosek, což je ps příkaz. Proces Java by nevyhnutelně chyboval a uvízl na portu, který jsem potřeboval otevřít pro restartování služby. Služba by se zobrazila jako nahoru , ale nebyla tam žádná funkce. Tato situace byla pro mladé techniky matoucí a bylo to něco, co jsem byl mnohokrát požádán, abych to napravil tím, že jsem našel proces, který se zasekl, a zabil ho. Jsou také případy, kdy možná budete muset zjistit, zda je konkrétní proces spuštěn, nebo zjistit, zda proces nevytvořil podřízené procesy. V těchto scénářích vám pochopení kontrolních skupin nesmírně pomůže. Řídicí skupiny na základní úrovni organizují procesy založené na nadřazeném systému a poté procesy organizují do hierarchie.

Zde se podíváme na dva způsoby, jak vylepšit standardní ps příkaz, který používá většina lidí. Vím, že mnoho lidí spáruje ps pomocí grep a stejně jako pekanový koláč a Noah's Mill tuto praxi plně podporuji. Doporučuji vám také zkontrolovat následující dvě metody, protože mohou trochu usnadnit pochopení hierarchií procesů.

Metoda jedna

První metodou je standardní ps příkaz se stromem procesů povoleným. Když spustíte tento příkaz: 

[root@fed31 ~]# ps xawf -eo pid,user,cgroup,args

výsledkem může být následující výstup:

Tento výstup byl zkrácen, protože je velmi podrobný. Tímto příkazem však získáte velké množství informací. Zleva doprava máme PID, USER, CGROUP a COMMAND.

Zjistil jsem, že tento výstup je skvělý způsob, jak přesně vidět, který proces patří ke které rodičovské práci. Je také v poměrně uživatelsky přívětivém formátu. Příkaz sám o sobě může být hodně na psaní pravidelně, takže doporučuji nastavit alias shellu. Další informace o tom, jak vytvořit alias, naleznete v mém článku na toto téma zde. Pro tuto chvíli by bylo vhodné něco takového: 

alias pscgroup='ps xawf -eo pid,user,cgroup,args'

Metoda 2

Další možností, na kterou se podíváme, je systemd užitečnost. Tato metoda je podle mého skromného názoru ještě lepší způsob, jak zjistit, která práce patří kterému nadřazenému procesu nebo vlastníkovi. Když napíšete toto: 

[root@fed31 ~]# systemd-cgls

výsledek může vypadat takto:

Opět byl screenshot zkrácen kvůli délce výstupu. V této verzi můžete snadněji vidět, který proces patří kterému uživateli, a navíc každý proces zobrazuje své podřízené procesy jako podmnožiny informací. Tato metoda je super jednoduchý způsob, jak vidět organizaci procesů a rychle najít vlastnictví.

Tyto dvě metody sledování mi pomohly pochopit, co vlastní co. Doufejme, že i vám budou užitečné!

[Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma.]


Linux
  1. Jak zkontrolovat využití paměti procesu pomocí příkazu Linux pmap

  2. Jak najít proces s maximálním počtem deskriptorů souborů?

  3. Proč spouštět příkaz prostředí Linux s '&'?

  1. Příkaz Nohup s příklady

  2. JQ Command v Linuxu s příklady

  3. Linux:zavřete program pomocí příkazového řádku (nezabijte jej)

  1. Bash wait Příkaz s příklady

  2. wc Linux Command s příklady

  3. Naučte se příkazy Pgrep a Pkill s příklady v Linuxu