最后一个 pid 进程 linux
Last pid process linux
我正在尝试获取进程的最后一个 pid(例如睡眠)。我这样做:
# sleep 10 &
[1] 14115
但是当我使用此命令获取最后一个 pid 时:
# ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print " " }'
14125 sleep
pid 不一样,我不明白我做错了什么,因为如果我这样做但没有命令的最后一部分,我会得到相同的 pid:
# sleep 10 &
[1] 15853
# ps aux --sort +start_time | tail -n 4
root 15853 0.0 0.1 3364 520 pts/2 S 16:45 0:00 sleep 10
www-data 15871 0.0 0.0 1864 452 ? S 16:45 0:00 sleep 1
root 15872 0.0 0.2 4344 1168 pts/2 R+ 16:45 0:00 ps aux --sort +start_time
root 15873 0.0 0.1 3756 676 pts/2 S+ 16:45 0:00 tail -n 4
提前致谢
[已解决]
# ps aux --sort +start_time | tail -n 5 | awk 'NR==1{print " " }'
具体流程的另一种解决方案
# pgrep -n 'name_of_the_process'
awk
进程启动,并在输出中占据另一行。尝试 tail -n 5
,但它不可靠,因为无论如何都可以在两者之间启动另一个进程。参见 psgrep
。
您可以通过以下方式获取最后一个进程的 pid:
回声 $!
我正在尝试获取进程的最后一个 pid(例如睡眠)。我这样做:
# sleep 10 &
[1] 14115
但是当我使用此命令获取最后一个 pid 时:
# ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print " " }'
14125 sleep
pid 不一样,我不明白我做错了什么,因为如果我这样做但没有命令的最后一部分,我会得到相同的 pid:
# sleep 10 &
[1] 15853
# ps aux --sort +start_time | tail -n 4
root 15853 0.0 0.1 3364 520 pts/2 S 16:45 0:00 sleep 10
www-data 15871 0.0 0.0 1864 452 ? S 16:45 0:00 sleep 1
root 15872 0.0 0.2 4344 1168 pts/2 R+ 16:45 0:00 ps aux --sort +start_time
root 15873 0.0 0.1 3756 676 pts/2 S+ 16:45 0:00 tail -n 4
提前致谢
[已解决]
# ps aux --sort +start_time | tail -n 5 | awk 'NR==1{print " " }'
具体流程的另一种解决方案
# pgrep -n 'name_of_the_process'
awk
进程启动,并在输出中占据另一行。尝试 tail -n 5
,但它不可靠,因为无论如何都可以在两者之间启动另一个进程。参见 psgrep
。
您可以通过以下方式获取最后一个进程的 pid: 回声 $!