首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在bash脚本中获取正确的进程数

在bash脚本中获取正确的进程数
EN

Stack Overflow用户
提问于 2021-06-29 23:28:53
回答 1查看 34关注 0票数 0

我想检查一下当前正在运行的进程数。进程名为sol3-script-ui

如果我直接从命令行运行ps aux | grep "sol3-script-ui" | grep -v grep | awk '{print $2}' | wc -l,那么我会得到8,这是正确的(也与我在命令行输入"top“时的数字相匹配)。

但是,我希望在bash脚本中获得这个数字,并且这个数字将用作其他一些操作的输入。为了简单起见,我创建了一个bash脚本文件get-sol3-script-ui-nr.sh,当我运行这个bash文件时,它在屏幕上显示为10。

在命令行中运行和在bash脚本中运行时进程数不同的原因是什么?

我如何在bash脚本中获得这个"8“?

代码语言:javascript
运行
复制
root@aldo:/home/sol3/script# ps aux | grep "sol3-script-ui" | grep -v grep | awk '{print $2}' | wc -l
8
root@aldo:/home/sol3/script# ./get-sol3-script-ui-nr.sh 
10
root@aldo:/home/sol3/script# cat get-sol3-script-ui-nr.sh 
#!/bin/bash
sol3Nr=$(ps aux | grep "sol3-script-ui" | grep -v grep | awk '{print $2}' | wc -l)
echo $sol3Nr

也许这个问题在其他帖子中被重复了。但有人能向我解释原因和解决方案是很好的。我想让sol3Nr等于8,它将用于其他操作。

EN

回答 1

Stack Overflow用户

发布于 2021-06-29 23:31:29

我建议:

代码语言:javascript
运行
复制
sol3Nr=$(pgrep sol3-script-ui | wc -l)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68181690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档