產生背景: 在 k8s 集群安裝 sqlflow 後, 每過一段時間 sqlflow-server、sqlflow-jupyter、argo-server 三個程序就會自己掛掉. (在 sqlflow 官網中也提到該問題, 說是 kubernetes 內建邏輯,重新執行埠對映命令即可)
解決方式: 使用 shell 指令碼, 定時每分鐘檢查三個程序是否掛掉, 若掛掉則重啟, 否則輸出 already started!
[root@dooo ~]
# cd /sqlflow/shell/
[root@dooo shell]
# cat restart.sh
#!/bin/sh
while
true
dops -ef |
grep
"deployment/sqlflow-server"
|grep -v "grep"if[
"$?" -eq 1 ]
then
./sqlflow-server.sh
echo
"sqlflow-server process has been restarted!"
else
echo
"sqlflow-server process already started!"
fips -ef |
grep
"deployment/sqlflow-jupyter"
|grep -v "grep"if[
"$?" -eq 1 ]
then
./sqlflow-jupyter-mysql.sh
echo
"sqlflow-jupyter process has been restarted!"
else
echo
"sqlflow-jupyter process already started!"
fips -ef |
grep
"deployment/argo-server"
|grep -v "grep"if[
"$?" -eq 1 ]
then
./argo-server.sh
echo
"argo-server process has been restarted!"
else
echo
"argo-server process already started!"
fisleep 60
done
shell指令碼 監控某個程序 掛掉重啟
指令碼monitor.sh bin sh file name home work restart.log 重啟指令碼的日誌,保證可寫入,保險一點執行 chmod 777 restart.log pid 0 proc num proc id 此處 sh home work run.sh 也替代為實際的...
Linux 批量殺掉程序
ps ef grep firefox grep v grep awk sh 列出了當前主機中執行的程序中包含firefox關鍵字的程序 ps ef grep firefox grep v grep 列出了要kill掉這些程序的命令,並將之列印在了螢幕上 ps ef grep firefox grep...
Linux之殺掉程序
pkill命令可以按照程序名殺死程序。pkill和killall應用方法差不多,也是直接殺死執行中的程式 如果您想殺掉單個程序,請用kill來殺掉。pkill 選項 引數 o 僅向找到的最小 起始 程序號傳送訊號 n 僅向找到的最大 結束 程序號傳送訊號 p 指定父程序號傳送訊號 g 指定程序組 t...