首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法检查pkill命令是否成功

无法检查pkill命令是否成功
EN

Stack Overflow用户
提问于 2019-02-05 16:24:58
回答 1查看 742关注 0票数 0

我的bash里有这样的代码

代码语言:javascript
复制
pkill <stuff>
if [ $? -eq 0 ]; then
    echo OK
else
    echo FAIL
fi

但它总是会进入失败的部分。如何检查pkill命令是否成功?

EN

回答 1

Stack Overflow用户

发布于 2019-02-05 16:37:01

正如手册页中所写的,pkill具有不同的退出状态代码:

代码语言:javascript
复制
EXIT STATUS
   0      One or more processes matched the criteria.
   1      No processes matched.
   2      Syntax error in the command line.
   3      Fatal error: out of memory etc.

您的代码确实分析了退出代码(这就是$?代表),但您不检查您是否有1、2或3...您应该(!)也请检查此内容:

代码语言:javascript
复制
#!/usr/bin/env bash

pkill <stuff>
pkillexitstatus=$?

if [ $pkillexitstatus -eq 0 ]; then
    echo "one or more processes matched the criteria"
elif [ $pkillexitstatus -eq 1]; then
    echo "no processes matched"
elif [ $pkillexitstatus -eq 2]; then
    echo "syntax error in the command line"
elif [ $pkillexitstatus -eq 3]; then
    echo "fatal error"
else
    echo UNEXPECTED
fi
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54530278

复制
相关文章

相似问题

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