簡體   English   中英

Shell腳本未啟動服務

[英]Shell Script Not Starting Service

我有一個非常基本的Shell腳本,用於檢查給定的服務,然后查詢該服務以了解該服務是否正在運行。 如果服務未運行,它將嘗試重新啟動服務。 但這是行不通的。 當我停止服務時。 即使服務未運行,它也永遠不會輸入“ if”部分。 退出狀態為“ 0”時,我檢查終端中的輸出,但不是“ 0”,但仍不會進入“ if”部分。 我想念什么? 任何幫助表示贊賞

#!/bin/bash
#checking for apache

service="sshd"

whie [ 1 ]
do
    ps -e | grep $service
    if [ $? -ne 0 ]; then
        service ssh start
    fi
    sleep 3
done

流程管理是一項復雜的業務,但也可以使其非常簡單。 在您的情況下,您只需要一個腳本來確保服務已啟動並保持運行,就可以通過弄清楚實際運行哪個命令/etc/init.d/sshd並將其插入此腳本來完成此操作:

while true
do
    [command from /etc/init.d/sshd]
done

PS:正如@CharlesDuffy指出的那樣 ,您首先要檢查進程是否守護進程(在后台運行,立即返回)。 如果是這樣,則必須修改命令,以免發生這種情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM