我们有 3 个 Redis 实例在测试服务器上运行。由于某种原因,我们启动 redis 的启动脚本可能会将错误的 pid 写入文件。这是它正在做的事情:
su redis -c "redis-server /redis.conf & echo \$! > /var/run/redis_6379"
如果我将redis_6379 start && redis_6380 start && redis_6381
start 链接在一起,然后像那样停止它们并像那样启动它们,那么在 10 或 15 次迭代之后,我会在启动文件中遇到一个 pid 关闭了 1 的情况。
有谁知道为什么会发生这种情况?
答案1
是否有可能redis-server
分叉,并且您从中获取的 PID$!
是父 PID,但您实际上对子 PID 感兴趣?