2013-01-17 52 views
0

你能幫我創造慶典(或SH)腳本,這將啓動應用程序(./newserver),並每隔一小時會殺了這個應用程序(發送信號),並重新開始。bash腳本來重新啓動應用程序

還應該檢查應用程序是否正常工作,如果沒有 - 重啓,對於情況下,當應用程序崩潰等

對於Linux操作系統Ubuntu

+0

在何種操作系統,你運行你的腳本(我問這個推斷的選項中「在」命令將有) –

+0

爲什麼?它是一個多功能的服務器?服務器不應該被殺死 –

+2

你的問題對於SO來說太窄了。這裏發佈的答案旨在幫助其他有類似問題的人。在這裏,你或多或少地要求人們爲你完成整個工作。 – jopasserat

回答

1

正如人們已經指出的,這不是處理腳本錯誤的最佳方式。不過,我會假設你有特殊的理由需要這個。

#!/bin/bash 
while :; do 
    ./newserver & 
    pid=$! 
    sleep 1h 
    kill -n 9 $pid 
done 

至於檢查它是否正常工作,您將不得不創建一些分析來識別此問題。我對你的腳本一無所知,但我懷疑你會想在bash中做到這一點。

除非「工作」你僅僅意味着運行,在這種情況下

#!/bin/bash 
run_server() { 
    while :; do 
    ./newserver & 
    pid=$! 
    sleep 1h 
    kill -n 9 $pid 
    done 
} 
run_server & 
while :; do 
    if [ "$(kill -n 0 $pid 2>&1)" ]; then 
    run_server & 
    fi 
done 
0

把你的服務器啓動腳本/etc/inittab如果init將它產卵它死了。