gpt4 book ai didi

linux - 当存在多个用户进程时从 processid 获取用户

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:31:36 26 4
gpt4 key购买 nike

当有多个应用程序作为 masterId 运行时,我正在尝试调整 bash 脚本以拉回各个应用程序帐户的 PID。这曾经在个人用户帐户下运行,但最近的更改迫使所有应用程序都在组合的“masterId”下运行,但仍保持一个唯一的应用程序 ID,我可以对其进行 grep。

通常

pgrep -u "appId" 

会给我一个 PID。现在我必须运行:

pgrep -u "masterId"

它返回所有 PID(每个都是它自己的应用程序)。

1234
2345
3456

我正在尝试想出一个命令来仅返回 appAccount(n) 的 PID,这样我就可以将其通过管道传输到其他有用的命令中。我可以做一个双 grep(这更接近我想要的):

ps aux | grep -i "masterId" | grep -i "appAccount(n)"

这将使我获得整个单个进程的信息,但我只想让 PID 执行类似以下操作:

ps aux | grep -i "masterId" | grep -i "appAccount(n)" | xargs sudo -u appAccount(n) kill -9

如何修改上面的初始命令以仅获取 PID?有更好的方法吗?

最佳答案

pgrep --euid "masterId" --list-full | awk '/appAccount(n)/ {print $1}'

输出完整的进程命令行,然后选择需要的账号,打印第一个字段(pid)。

关于linux - 当存在多个用户进程时从 processid 获取用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com