首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >壳脚本意义

壳脚本意义
EN

Stack Overflow用户
提问于 2013-04-05 19:12:09
回答 2查看 140关注 0票数 0

eI想要了解这个进程的问题所在;它没有在一个进程运行时返回计数。它直接进入回显“没有发现运行在$PWD上的QMS进程”这个条件。

代码语言:javascript
复制
QMS_PROCESS=`ps -ef | grep $PWD/qms_kernel | grep -v grep | cut -f6 -d' '`
QMS_PROCESS_COUNT=`echo $QMS_PROCESS | egrep [0-9] | wc -c`
if [ $QMS_PROCESS_COUNT -eq 0 ]
  then
    echo "No QMS process found running on $PWD" 
  else
    kill -15 $QMS_PROCESS
    echo "QMS process $QMS_PROCESS stopped on $PWD" 
fi

有谁能帮我理解这件事吗。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 19:56:07

这种方法是怎样的:

代码语言:javascript
复制
QMS_PROCESS=`pidof "$PWD/qms_kernel"`
if [ -z "$QMS_PROCESS" ]; then
  echo "No QMS process found running on $PWD" 
else
  kill -15 $QMS_PROCESS
  echo "QMS process ($QMS_PROCESS) stopped on $PWD" 
fi
票数 1
EN

Stack Overflow用户

发布于 2013-04-05 19:38:22

第一行运行ps -ef来列出所有进程,查找一个特定的qms_kernel进程,该进程的路径位于其前面的当前目录(这是$PWD部分,有点令人惊讶),然后过滤掉grep命令并运行一个神秘的cut命令来收集第6个字段。

第二行计算数字数,这也是一个小奇数。

if块检查$QMS_PROCESS_COUNT中的值是否为0。如果是,则报告“无QMS流程”,并以其他方式试图终止进程(信号15,也称为术语或SIGTERM)进程(Es),并报告进程已停止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15841701

复制
相关文章

相似问题

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