linux看護程序指令碼

2021-09-01 19:44:03 字數 1419 閱讀 4828

1. 看護程序指令碼。工作原理是用shell不停的去查詢程序,如果發現程序不存在則啟動程序。如果用gnome啟動,要在圖形介面啟動指令碼。

start.sh

#! /bin/bash

#program directory path

pro_path="/opt/bin/"

#program name

pro_name="record"

#program path, not need configure.

pro_main=$pro_path$pro_name

#gnome start program, not need configure.

program_gnome="gnome-terminal -e \"$pro_main\""

#start method gnome or nohup (eg: gnone-->star_pro=$program_gnome ; nohup-->star_method=$pro_main)

star_method=$program_gnome

while true ; do

pro_now=`ps aux | grep $pro_name | grep -v grep | wc -l`

if [ $pro_now -lt 1 ]; then

$star_method 2>/dev/null 1>&2 &

date >> $pro_path/tinfo.log

echo "------------------$pro_main start----------------------" >> $pro_path/tinfo.log

fisleep 10

done

exit 0

2. 啟動程序指令碼。如果用客戶端直接啟動start.sh,關掉客戶端啟動的程式會死掉。用這個程序啟動後,關掉客戶端,程序依然存在。

bhstart.sh

#! /bin/bash

./start.sh &

3. 關閉啟動程序指令碼。

bhstop.sh

#!/bin/bash

#progress name

pro_name="record"

ps -ef|grep $pro_name |grep -v grep|awk ''|xargs kill

echo "kill start.sh done!"

ps -ef|grep $pro_name |grep -v grep|awk ''|xargs kill

echo "kill $pro_name done"

Linux 結束程序指令碼

以前終止乙個程式一般要ps ef grep 然後kill 9 pid,殺死該程序.最近寫了乙個指令碼 輸入k命令 然後出來選項 輸入序號,然後指令碼執行kill操作.在一定程度上簡化了操作.指令碼如下 bin bash kw tomcat if n 1 then echo you don t inp...

Linux程序管理指令碼

程序管理指令碼 寫給讀者的話 最近一直在linux上搞事情,碰到給小問題。因為專案需要,可能需要維護比較多的程序,每個程序的有無,都回影響整個專案。程序單個管理起來比較麻煩,就寫了給指令碼用來管理。指令碼最開始是我什麼時候想起來就執行一次的,檢測一下哪些程序沒開或者崩潰了,哪些程序的情況是怎樣怎樣的...

Linux守護程序Shell指令碼

服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。現分享乙個簡單的shell指令碼的方式 bin sh 程序名字可修改 pro name rails cmd nohup bundle exec rails server webrick p3000 b 0.0.0....