簡體   English   中英

如何檢查進程是否在運行-Linux

[英]how to check the process is running or not - Linux

我正在使用Shell腳本調用二進制文件。 二進制文件基本上是建立一個套接字客戶端服務器。 該二進制文件最初可以正常工作,但在60分鍾后將停止。 我需要檢查它是否未運行,然后重新啟動。 這是我的代碼:

sleep 3
busyboxValue=busybox
commandpid=`$busyboxValue pidof command`
echo ${commandpid} > /sdcard/CommandProcess.txt
if [ $commandpid -gt 0 ]
then
    echo -16 > /proc/$commandpid/oom_adj
    echo -1000 > /proc/$commandpid/oom_score_adj
fi
while [ true ]
do
    commandpid=`$busyboxValue pidof command`
    if [ $commandpid -gt 0 ]
    then
        echo "command binary still running"
    else
        echo "command binary Exited so restarting it"
        /data/local/command 1200 &
        commandpid=`$busyboxValue pidof command`
        echo ${commandpid} > /sdcard/CommandProcess.txt
        echo -16 > /proc/$commandpid/oom_adj
        echo -1000 > /proc/$commandpid/oom_score_adj
    fi
    sleep 10
done

您可以使用pythonsupervisor實用程序,它將為您重新啟動無效的程序。

https://pypi.python.org/pypi/supervisor

暫無
暫無

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

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