如何停止定期运行的Chef客户端?

3

我刚在我的一个节点上执行了这个命令'chef-client -i 30'。因此,chef客户端每隔30秒运行一次。现在我需要停止这个chef客户端的运行。如何停止chef客户端?同时,这个命令首先以30秒的等待时间开始运行chef客户端。但是我需要先运行chef客户端,然后等待30秒,再同时运行。这个命令如何执行?

           _____       _____
     30sec| run |30sec| run |
     wait |     | wait|     |       -->30 sec wait and run & wait,...
    ______|     |_____|     |_____






     _____       _____ 
    | 1st |30sec| run |30sec
    | run | wait|     |wait       -->1st run and wait and run,...
    |     |_____|     |_____

最初,它不需要等待30秒钟。我有什么想法错了吗? 谢谢...


我甚至不知道问题出在哪里... - Tensibai
1
@Tensibai 如何停止chef-client运行命令。它将每30秒运行一次。如何停止它?是否有像“chef-client stop”这样的命令? - VijayVishnu
只需使用任务管理器或kill命令(Windows或Linux)终止进程。 - Tensibai
那是唯一的方法吗,@Tensibai? - VijayVishnu
有一个 chef-client --once 命令,它运行 chef 并停止服务。 - Draco Ater
@VijayVishnu 如果你启动了一个循环运行的程序,你就必须打破这个循环。看起来像是你的使用情况并不适用于 chef 的守护进程模式,可以制作一个 bash 脚本,如下:chef-client; sleep 30; chef-client - Tensibai
1个回答

1
你可以使用grep命令过滤正在运行的chef进程,ps -ef | grep chef 然后杀死所有的进程以停止chef客户端。 kill -9 进程号 否则,你可以查看文件/var/chef-solo/cache/chef-client-running.pid以获取客户端pid,然后通过杀死该进程来停止它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接