Redisには構成パラメーターがありますpidfile
(例:/etc/redis.conf-redisのソースコードを確認してください)。次に例を示します。
# If a pid file is specified, Redis writes it where specified at startup
# and removes it at exit.
#
# When the server runs non daemonized, no pid file is created if none is
# specified in the configuration. When the server is daemonized, the pid file
# is used even if not specified, defaulting to "/var/run/redis.pid".
#
pidfile /var/run/redis.pid
設定されているか、設定できる場合は、ps + grep
次のようなものを使用してプロセスID(pid)を検索する代わりに、次の方法を使用できます。
kill $(cat /var/run/redis.pid)
必要に応じて、次のようなredis停止スクリプトを作成できます(デフォルトのredis 5.0 init.dスクリプトをredisソースコードに適用))。
PIDFILE=/var/run/redis.pid
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
kill $PID
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi