是否可以检查特定进程是否正在通过盐状态运行?通过查看Salt Stack文档和搜寻论坛,我还没有找到任何简单的方法来检查服务是否正在运行并报告输出。

但是我发现了这一点:

httpd-absent:
  process.absent:
    - name: apache2


相反的情况对我来说很理想,例如:已定义的进程正在基于名称或模式(正则表达式)运行,并仅使用true / false或类似的报告进行报告?

评论

SALT.STATES.SERVICE可能是吗?

@Tensibai不幸的是,并非针对我的具体情况,因为我要监视的进程是未配置为作为服务运行的进程。

也许那才是真正的问题(让守护程序在没有主管的情况下运行是不明智的)?但是,如果那样的话,也许salt.modules.ps.pgrep会做。

当然是这样!但是,我无法改变这一点(长话不说)-salt.modules.ps.pgrep是我绝对会关注的东西,感谢@Tensibai

@Tensibai查阅了它之后,我发现我不能走这条路,因为我的设置要求所有小兵都使用Python 2.7,对于同样长的故事来说,这也是不可能的。

#1 楼

这有点hacky,但是您可以始终执行以下操作:

评论


感谢您的回答@ user2640621-这是我一直在寻找的东西,尽管您提到它有点笨拙,但它适合我的情况!如果该过程不处于活动状态,那么它将失败,这是我所需要的!

– jto
17年9月18日在7:15

这始终是正确的,因为ps aux将返回grep命令(如果要验证,请使用ps aux | grep'foobar'&& echo“ ok” || echo“ not found”进行测试)...通常的技巧来确保您真正得到您正在寻找的是使用第一个字母作为字符类,这样grep命令行将不匹配:ps aux | grep'[f] oobar'cc @jto

–滕西拜
18年1月5日在17:05