获取linux中的最后一个(最新)进程pid

时间:2012-09-24 09:17:58

标签: linux unix terminal command

我想在linux中获取最后/最新进程pid。任何人都建议我找到它的命令?但我不知道最后一个流程是从哪个开始的。

3 个答案:

答案 0 :(得分:6)

如果您想要最近执行的后台命令的进程ID,您可以使用!变量。例如:

 > gvim text.txt &
 > echo $!
 2842

答案 1 :(得分:5)

更新:感谢William提供关于awk的提示。
前提条件:该流程仍在运行。

我不是UNIX专家,但我考虑过以下方法:

ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print $2}'

ps将列出所有进程,我们将按start_time对它们进行排序。之后我们将从输出的最后一行[0]取第四个,awk将返回第二个字段中找到的pid。

root@unix ~ % sleep 10 &
[1] 3009
root@unix ~ % ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print $2 " " $11}'
3009 sleep
root@unix ~ %

[0]第四行,因为我的命令行中有三个管道命令。

答案 2 :(得分:2)

获取var variableOne: Int = 0 var variableTwo: Int = 0 init(variableOne: Int, variableTwo: Int) { self.variableOne = variableOne self.variableTwo = variableTwo super.init(frame: CGRectZero) } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) }

PID

#!/bin/bash my-app & echo $! 保存在变量中:

PID

将所有实例#!/bin/bash my-app & export APP_PID=$! 保存在文本文件中:

PID

将输出,错误和#!/bin/bash my-app & echo $! >>/tmp/my-app.pid 保存在单独的文件中:

PID
相关问题