私はカスタマイズされたLinuxバージョンを持っており、カーネルバージョンは次のとおりです。そして4.1.15-klk
私のプラットフォームアーキテクチャは次のとおりです。armv7l GNU/Linux
私のプロセスが実行されていることを確認しようとしています。
私はこれを試しました:
#!/bin/sh
service=myservice
if [ $(ps | grep -v grep | grep $service | wc -l) -gt 0 ]
then
echo "$service is running!!!"
else
echo "$service is not running!!!"
fi
しかし、「私のサービスが実行中です!!!」というメッセージが表示されます。
私のシステムでは利用できないため、pgrepは利用できません。
どんなアイデアがありますか?ありがとうございます!
ベストアンサー1
に基づいてこの問題、短くスクリプト可能な方法は次のとおりです。
systemctl is-active --quiet service
サービスが実行中の場合、コード 0 で終了します。
sshdサービスが実行されているかどうかを印刷する例:
systemctl is-active --quiet sshd && echo "sshd is running" || echo "sshd is NOT running"