GNU/Linux >> Znalost Linux >  >> Linux

Jak získat pouze ID všech běžících procesů?

Použít výstupní formátování ps:

ps -A -o pid

Výstupní formátování příkazu je nejlepší volbou. Volba o řídí výstupní formátování. Níže jsem uvedl některé z argumentů, zbytek viz 'man ps' (pro použití více by to bylo -o pid,cmd,flags ).

KEY   LONG         DESCRIPTION
   c     cmd          simple name of executable
   C     pcpu         cpu utilization
   f     flags        flags as in long format F field
   g     pgrp         process group ID
   G     tpgid        controlling tty process group ID
   j     cutime       cumulative user time
   J     cstime       cumulative system time
   k     utime        user time
   o     session      session ID
   p     pid          process ID

Awk nebo Cut by bylo lepší získat sloupce:
Obecně byste nechtěli regulární výraz pro výběr prvního sloupce, ale chtěli byste jej pomocí potrubí vyjmout nebo awk vyříznout první sloupec jako:

ps ax | awk '{print $1}'

Regulační výraz je možnost, ne-li nejlepší:
Pokud byste použili regulární výraz, mohlo by to být něco jako:

ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'

$1 vytiskne pouze to, co bylo uvedeno v závorce. ^ ukotví na začátek řádku. Hvězdička mezera znamená, že před číslem lze vložit volitelné mezery. [0-9]+ znamená jednu nebo více číslic. Ale pro tento konkrétní úkol bych nedoporučoval regulární výraz, vidíte proč? :-)


ps ax | awk '{ print $1; }'

Použijte -o přepněte, abyste měli výstup vlastního formátu

ps -o pid

Špatný způsob používání sed, jak jste se výslovně ptali, může být

ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'

Linux
  1. Jak změnit přesměrování výstupu běžícího procesu?

  2. Jak přesměrovat výstup již běžícího procesu

  3. Jak získat výstup z gdb.execute v PythonGDB (GDB 7.1)?

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

  2. Jak získat pouze ID procesu v zadaném názvu procesu v linuxu?

  3. tcpdump:jak získat grepable výstup?

  1. Jak zobrazit výstup běžícího procesu v jiné relaci Bash?

  2. Jak mohu získat čas nástěnných hodin běžícího procesu?

  3. Jak získat PID právě zahájeného procesu