我想按lstart(过程开始)对此输出进行排序:
ps -eo lstart,pid,cmd
Run Code Online (Sandbox Code Playgroud)
有没有办法以 YYYY-MM-DD HH:MM:SS 这样的 ISO 格式输出 lstart?
但仅靠排序并不能解决问题。我真的很想拥有 ISO 日期格式。
Rom*_*est 14
有没有办法以
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 }'
Run Code Online (Sandbox Code Playgroud)
使用ps 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 }'
Run Code Online (Sandbox Code Playgroud)
date -d -"$1"seconds- 当前时间戳和elapsed时间的差值,会给出进程的时间戳值