docker を使用して tcserver インスタンスを作成していますが、実行すると正常に停止します
./tcruntime-ctl.sh ストップ
ただし、再起動してもインスタンスが正常に再起動されません
./tcruntime-ctl.sh 実行
その理由は、PID ファイル (PID=1) がまだ存在し、削除されていないためです。
runコマンドを使用して、フォアグラウンド プロセスとして tcserver インスタンスを実行していることに注意してください。
docker を使用して tcserver インスタンスを作成していますが、実行すると正常に停止します
./tcruntime-ctl.sh ストップ
ただし、再起動してもインスタンスが正常に再起動されません
./tcruntime-ctl.sh 実行
その理由は、PID ファイル (PID=1) がまだ存在し、削除されていないためです。
runコマンドを使用して、フォアグラウンド プロセスとして tcserver インスタンスを実行していることに注意してください。
エラーが、以前の実行からの痕跡 pidfile があるという単純なものである場合、回避策として、tcruntime-ctl.sh
スクリプトを呼び出す前に pidfile を削除することができます。tcServer インスタンスの寿命は docker コンテナーの寿命に関連しているため、pidfile で参照されているプロセスが以前に終了したと安全に想定できます。exec
ingの前にクリーンアップする独自のスクリプトを作成するtcruntime.sh
か、次のようなものを先頭に追加できます。
#!/bin/sh
pidfile=$(dirname $0)/../logs/tcserver.pid
if [ -f $pidfile ] ; then
rm $pidfile
fi