java - 正则表达式返回进程的 pid

标签 java regex

我正在尝试获取某个进程的 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/

相关文章:

java - 通过嵌套的 JSON 对象循环嵌套并将值保存在数组列表中

java - 使用配置文件运行 Maven 测试

java - Quartz 不会延迟集群环境中已经启动的作业

Python re.findall 打印所有模式

javascript - 如何将这些电子邮件正则表达式更改为不区分大小写?

正则表达式和 POST 在同一连接中

java - 如何将 googlesheet api 响应存储到 java 中的数组?

java - 匹配数字模式

ruby - 正则表达式,查找包含但不以开头的字符串

PHP、Regex 仅在两个保留字符之间替换用户输入中的换行符