私はGo
プログラムこれを再起動し、簡単な20行の小さなスクリプトを作成しようとしているが、私がこれまで持っているものです。Bashスクリプトが目的を殺していないか?
#!/bin/bash
chsum1=""
pid=""
while true ; do
chsum2=$(find ./ -type f -exec md5 {} \;)
if [[ $chsum1 != [[$chsum2 ]] ; then
if [[ $pid != "" ]] ; then
kill $pid
fi
go run main.go &
pid=$(%%)
chsum1=$chsum2
echo "RESTARTED"
fi
sleep 2
done
それは動作しますが、それは再起動したときに、私はまだ使用中のポートを取得します。
私はbashの
シャットダウンを求める信号をプロセスに送ります。私は、プロセスが実際に終了するように睡眠を追加しようとするか、 'kill -9'を使用するといいでしょう。 – Richard
2番目の' ['は' if'の中で余分です(そしてもしそれが正しいならば、 '$ chsum2 'の前のスペース)。タイプミスとして閉じる投票。 – tripleee
また、 '$(%%)'は間違っています。あなたは 'pid = $! 'を望んでいるようです。 – tripleee