rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

スクリプト内で指定したコマンドが稼働中か調べるシェルスクリプト

2020 Apr. 19.
2020 Apr. 18.

スクリプト内で指定したコマンドが動いているか1回だけ調べるスクリプト

ispt.sh

#!/bin/bash
#
# 2020 Apr. 19.
# 2010 Apr. 29.
# Ryuichi Hashimoto.

# Check if commands to be checked are running.
#   retrun code
#     0: these commands are running
#     1: these commands are not running


# CMDS='COMMAND_TO_BE_CHECKED|COMMAND2|COMMAND3|COMMAND4'
CMDS='rec_radiko.sh|shepherd.php|HandBrake|getepg|epgdump|do-record|recpt1|ffmpeg|avconv|tssplitter_lite|ts2h264|delredundrecfiles|grive|list_all-info_rec-files'
\ps ax -f | grep -E $CMDS | grep -v grep 
RESULT="$?"
if [ $RESULT -ne 0 ];then
   exit 1
fi
\exit 0
ispt.shを1秒おきに5回実行しコマンドの稼働状況を調べるスクリプト

ispts.sh

#!/bin/sh

# 2020 Apr. 18.
# 2015 Sep. 19.
# Ryuichi Hashimoto.

# loop ispt.sh N-times.
#   return code
#     0: related commands are running
#     1: related commands are not running


# set loop-count
NumLoop=5

# set default-retrun-code.
Result=1

while [ $NumLoop -gt 0 ]; do
  ispt.sh
    # return code of ispt.sh
    #   0: related commands are running
    #   1: related commands are not running

  if [ 0 -eq $? ]; then
    # when some commands are running
    Result=0
  fi
  \sleep 1
  NumLoop=$(($NumLoop - 1))
done
\exit $Result