如何提取运行中实际mongod进程的所属用户
提取特定mongod进程的用户
根据你给出的进程输出,前两个是MongoDB的监控和自动化代理进程,第三个才是实际运行的mongod服务进程。这里提供两种方法来提取它的所属用户:
方法一:基于进程特征筛选(推荐)
这种方法通过匹配mongod服务的启动参数来精准定位,不受输出行顺序影响,更可靠:
ps aux | grep mongod | grep -E '/mongod -f' | awk '{print $1}'
命令拆解:
ps aux:输出系统中所有进程的详细信息,包含用户、PID、CPU占用等核心字段grep mongod:先筛选出所有包含"mongod"关键词的进程行grep -E '/mongod -f':进一步过滤出带有/mongod -f的行(这是你目标进程的核心特征——通过配置文件启动的mongod服务)awk '{print $1}':提取每行的第一个字段,也就是进程所属的用户名
方法二:基于行号定位
如果你能确保目标进程始终是输出的第三行,可以直接指定行号提取:
ps aux | grep mongod | sed -n '3p' | awk '{print $1}'
注意:
这种方法依赖输出行的固定顺序,如果代理进程重启导致行号变化,就会提取错误结果,所以仅在你能确保行顺序不变的场景下使用。
内容的提问来源于stack exchange,提问作者Howard Lee
相关产品推荐
相关产品推荐

