Startscript: usando $! para criar pidfile - retornando pid errado (desativado em um) ocasionalmente

Startscript: usando $! para criar pidfile - retornando pid errado (desativado em um) ocasionalmente

Temos 3 instâncias de redis em execução em um servidor de teste. Por alguma razão, nosso script inicial que inicia o redis pode gravar o pid errado em um arquivo. Aqui está o que está fazendo:

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

Se eu encadear redis_6379 start && redis_6380 start && redis_6381o início e depois interrompê-los assim e iniciá-los assim, depois de 10 ou 15 iterações, encontrarei um pid no arquivo inicial que está desativado em 1.

Alguém sabe por que isso pode ocorrer?

Responder1

É possível que redis-serverbifurquem e que o PID obtido $!seja o PID pai, mas você esteja realmente interessado no PID filho?

informação relacionada