さまざまなウィジェット(さまざまなRailsアプリケーション)を起動してバックグラウンドで実行するbashスクリプトを作成しました。私は今、その開始スクリプトによって開始された各プロセスを強制終了する補完的な停止スクリプトを作成しようとしていますが、それにアプローチするための最良の方法がわかりません。
以下は私の開始スクリプトです。
#!/bin/bash
widgets=( widget1 widget2 widget3 ) # Specifies, in order, which widgets to load
port=3000
basePath=$("pwd")
for dir in "${widgets[@]}"
do
cd ${basePath}/widgets/$dir
echo "Starting ${dir} widget."
rails s -p$port &
port=$((port+1))
done
可能であれば、PIDの信頼性が非常に低いため、PIDを.pidファイルに保存しないようにしました。これにアプローチするためのより良い方法はありますか?