Linuxプロセス管理シェルスクリプトgovern.shの公開

category: pc
tags: linux rtk rtklib

Linuxプロセス管理シェルスクリプト - govern.sh

このシェルスクリプトは、~/local/*.conf.shにある設定ファイルにて定義された複数のプロセスを管理するものです。このシェルスクリプトは、オープンソースソフトウエアで、GitHubにて公開しています。

govern.sh: a simple shell script to manage processes for Linux

このgovern.shスクリプトは、対話型シェルから、またはcronジョブを通して起動します。これをcronジョブから起動するためには次のようにします。

$ crontab -e
@reboot cd /home/pi/bin; ./govern.sh start

利用方法

~/local/ディレクりにあるすべてのプロセスを起動するためには、govern.sh startと入力します。それぞれのプロセス名とプロセスID(PID)が表示されます。

すべてのプロセスを終了するためには、govern.sh stopと入力します。

プロセスの状態を見るためには、govern.sh statusと入力します。また、単にgovern.shと入力しても、すべてのプロセスの状態とPIDを見ることができます。

pi@rpi3b:~ $ govern.sh
clas.conf.sh running at pid 30185
f9p.conf.sh running at pid 2879
lora.conf.sh running at pid 450
madoca.conf.sh running at pid 455
sf9p.conf.sh running at pid 2897
pi@rpi3b:~ $

特定のプロセスのみを起動、終了、または表示するためには、例えば、govern.sh sample.conf.sh startとしてsample.conf.shに定義されるプロセスを起動します。

この設定ファイルでは、環境変数CMD、ARGS、およびMARKの設定が必要です。詳細はlocal/sample.conf.shをご覧ください。

既知の問題

スペースを含む一つの引数を表現できません。例えば、str2str ... -a "JAVGRANT_G5T NONE" ...の引数の一つはJAVGRANT_G5T NONEです。しかし、環境変数を介して、この空白文字を含む文字列を一つの引数として、プログラムに渡すことはできませんでした。

ライセンス

このgovern.shは、2-Cluse BSD Licenseを適用します。

Copyright (c) 2023 Satoshi Takahashi, all rights reserved.