您好,登錄后才能下訂單哦!
用shell腳本實現每隔30s檢查httpd進程存在與否,httpd存在時輸出0,不存在輸出1. 方法一: 單條命令實現 cat apache.sh #! /bin/bash while true do ps -ef | grep http | grep -v grep > /dev/null && echo 0 || echo 1 sleep 30 done while true為真,一直執行do循環。 # ps -ef | grep http ,過濾出http進程 輸出結果: root 7286 1 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7288 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7289 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7290 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7291 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7292 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7293 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7294 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7295 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd root 7440 4708 0 15:17 pts/0 00:00:00 grep http # ps -ef | grep http | grep -v grep,過濾ps -ef |grep http本身。 輸出結果: root 7286 1 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7288 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7289 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7290 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7291 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7292 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7293 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7294 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd nagios 7295 7286 0 15:14 ? 00:00:00 /usr/sbin/httpd # ps -ef | grep http | grep -v grep > /dev/null,輸出到空設備文件。 # ps -ef | grep http | grep -v grep > /dev/null && echo 0 || echo 1 邏輯與:&&,邏輯或:||。"ps -ef | grep http | grep -v grep > /dev/null"為真時執行echo 0,否則執行echo 1. 方法二: cat apache.sh while true httpnum=`ps -ef | grep http | grep -v grep| wc -l` do if [ $httpnum -gt 0 ] then echo 0 else echo 1 fi sleep 30 done 方案二摘自老男孩博客http://oldboy.blog.51cto.com/2561410/577227,里面有詳細介紹。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。