GNU/Linux >> Znalost Linux >  >> Linux

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

Pro běžící proces můžete provést toto:

PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime

Jako obecnou funkci můžete upravit výzvu shellu. Toto je moje definice bash prompt:

TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t  \[email protected]\h:\w\nstart cmd:> '
PS2="cont. cmd:> "

Relevantní část pro vás je \t na čas.

To však neřeší všechny problémy. Nová výzva se zobrazí, když proces skončí, ale předchozí výzva mohla být při spuštění příkazu, který se má měřit, poměrně stará. Takže buď nezapomeňte obnovit výzvu před spuštěním dlouhých příkazů, nebo si musíte zapamatovat aktuální čas, kdy chcete vědět, jak dlouho bude aktuální proces trvat.

Pro kompletní řešení potřebujete funkci auditu (která zaznamenává čas začátku a konce procesů). Ale to může způsobit obrovské množství dat, pokud je nelze omezit na shell.


Na základě přijaté odpovědi můžete také průběžně sledovat uplynulý čas běžícího procesu pomocí watch :

PID=5462
watch command ps -p "$PID" -o etime

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

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

  3. Jak mohu získat stav klávesnice v Linuxu?

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

  2. Jak mohu získat aktuální datum a čas v terminálu a nastavit pro něj vlastní příkaz v terminálu?

  3. Jak mohu získat dočasnou složku počítače se systémem maven?

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

  2. Jak získat celkovou dobu provozu pevného disku

  3. Jak mohu spolehlivě získat název operačního systému?