psはiso日付形式で出力されますか?

psはiso日付形式で出力されますか?

lstart(プロセス開始)に基づいて出力をソートしたいと思います。

ps -eo lstart,pid,cmd 

YYYY-MM-DD HH:MM:SSと同じISO形式でlstartを出力する方法はありますか?

しかし、ソートだけでは問題は解決しません。 ISO日付形式が本当に欲しいです。

ベストアンサー1

lstartISO形式で出力する方法はありますかYYYY-MM-DD HH:MM:SS

そしてawk+date協力:

ps -eo lstart,pid,cmd --sort=start_time | awk '{ 
       cmd="date -d\""$1 FS $2 FS $3 FS $4 FS $5"\" +\047%Y-%m-%d %H:%M:%S\047"; 
       cmd | getline d; close(cmd); $1=$2=$3=$4=$5=""; printf "%s\n",d$0 }'

代替使用方法メモ etimesキーワード(プロセスが開始されてから経過した時間(秒)):

ps -eo etimes,pid,cmd --sort=etimes | awk '{ 
       cmd="date -d -"$1"seconds +\047%Y-%m-%d %H:%M:%S\047"; 
       cmd | getline d; close(cmd); $1=""; printf "%s\n",d$0 }' 
  • date -d -"$1"seconds-elapsed現在のタイムスタンプと時間の差が提供されます。タイムスタンププロセス値

おすすめ記事