web-dev-qa-db-ja.com

Startscript:$を使用します! pidfileを作成する-時々間違ったpidを(1つずつオフに)返す

テストサーバーで実行されているredisのインスタンスが3つあります。何らかの理由で、redisを開始する開始スクリプトが間違ったpidをファイルに書き込む可能性があります。これが何をしているのかです:

su redis -c "redis-server /redis.conf & echo \$! > /var/run/redis_6379"

チェーンでつなぐとredis_6379 start && redis_6380 start && redis_6381開始してから、そのように停止して開始します。10回または15回の反復の後、開始ファイルで1だけずれているpidに遭遇します。

なぜそれが起こるのか誰かが知っていますか?

1
JasonG

redis-serverがフォークし、$!から取得したPIDが親PIDである可能性はありますが、実際には子PIDに関心がありますか?

2