salt-minion dead but pid file exists解決方法shell
說明:
bash
因爲本身的錯誤操做,致使某臺salt minion機沒法啓動,以下:
ide
[root@localhost run]# /etc/init.d/salt-minion status salt-minion dead but pid file exists
解決過程:函數
由報錯知:
rest
minion進程已經死掉了,可是進程文件還在
進程
因而去找進程文件,在minion機的配置文件裏/etc/init.d/salt-minion裏發現進程文件是:/var/run/salt-minion.pidit
而後嘗試把進程文件刪掉,再從新啓動:io
[root@localhost run]# /etc/init.d/salt-minion restart Stopping salt-minion daemon: [FAILED] Starting salt-minion daemon: [ OK ] [root@localhost run]# /etc/init.d/salt-minion status salt-minion dead but pid file exists
仍然沒有解決問題
function
而後換思路去解決問題:class
找到minion的啓動文件/etc/init.d/salt-minion
把裏面的啓動和關閉過程看了一遍,裏面有幾句關鍵地方,以下:
. /etc/rc.d/init.d/functions
和
PROCESS=salt-minion
killproc $PROCESS
找到了解決方法:
首先把/etc/rc.d/init.d/functions這個文件看了一遍,發現裏面有一個killproc函數
而後本身寫了一個shell腳本解決了問題,腳本內容以下:
. /etc/rc.d/init.d/functions killproc salt-minion
##執行完shell腳本後: [root@localhost run]# /etc/init.d/salt-minion start Starting salt-minion daemon: [ OK ] [root@localhost ~]# /etc/init.d/salt-minion status salt-minion (pid 15422) is running...
正常了,大功告成