我正在尝试获取某个进程的 pid。
这是该过程的输出
pkill -f ./scene
scene killed (pid 11619)
scene killed (pid 31533)
从中我想检索 11619 和 31533 作为列表。我更喜欢通过正则表达式来完成。我如何为此创建正则表达式?
最佳答案
实际上,您完全可以用 Java 来完成此操作:
List<Long> killedPids = ProcessHandle.allProcesses()
.filter(p -> p.info().commandLine()
.filter(cmd -> cmd.equals("./scene"))
.isPresent()
&& p.destroy())
.map(ProcessHandle::pid)
.collect(Collectors.toList());
不需要正则表达式。并且不需要依赖外部命令的输出格式。
关于java - 正则表达式返回进程的 pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59970828/