2013-07-30 116 views
0

我正在使用此using until to restart a process來監視並重新啓動一個conky實例。但是當它重繪時,它會先畫出先前的實例而不先擦除它。那麼如何獲得它來清理屏幕然後重新生成conky實例。我也看過how do i write a bash script to restart a process if it dies,但問題在於,當腳本重新生成時,它沒有清除conky的第一個實例,所以它再次將它寫入頂部。所以我想出了這個腳本當它失敗時重新啓動conky

 #!/bin/bash -e 
until conkystat; do 
    echo "Server 'conkystat' crashed with exit code $?. Respawning.." >&2 

    echo -en "\ec" 
    conky -dc ~/.conky/.conkyrc-basic 
    sleep 15 

done 

但是,這仍然有相同的問題重繪在以前的文字。

那麼我該怎麼做呢?

謝謝
沙龍。

回答

0

在調用新程序之前,您可以嘗試添加'killall conky'以完全終止程序的上一個運行實例。不知道這是否會奏效,但值得一試。