检查进程是否正在运行
我编写了一个小型手册,用于检查主机上是否运行给定进程。我写了这个如下:检查进程是否正在运行
- name: checking process running for clients and start process when not
service:
name: marketaccess {{ item.key|lower }} -vi
state: started
register: process
with_dict: "{{ customers }}"
如果词典的item.key =百老汇和我试图检查过程如下:
但是当我运行这个剧本的所报告的错误是:
找不到所请求的服务marketacces百老汇-VI:主机
请有人看到我在做什么错了吗?
请问有人能看到我在做什么错?
在Ansible中没有管理/检查过程的模块。您可以使用shell
模块的问题中包含的命令(请注意this),注册结果并运行任务以启动该过程。
但是,您的marketaccess
实际上也可能是服务,或者是另一项服务创建子进程。没有办法告诉。请参阅软件的手册。
您可以提供参数service
module作为arguments
参数。
嗨techraf,你知道是否存在一个模块来检查正在运行的进程而不是服务? –
感谢您的咨询! –
我已经使用了pgrep,因为“ps -ef”输出在服务器之间有所不同(至少在我的情况下)。
- name: "Get process PID"
shell: >
echo -n
$(pgrep {{ item.binary_name }})
args:
executable: "{{ shell_path }}"
register: my_procs
[**请勿张贴代码或错误的图像!**](https://meta.stackoverflow.com/q/303812/995714)图像和截图可以是一个很好的补充后,但是请确保帖子在没有它们的情况下仍然清晰有用。如果您发布代码图片或错误消息,请确保您也直接复制并粘贴或将实际代码/消息输入到帖子中。 – Rob