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

1

Temos 3 instâncias de redis em execução em um servidor de teste. Por alguma razão, nosso script de início que inicia o redis pode escrever 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_6381 start e então eu paro eles assim e os inicio assim, depois de 10 ou 15 iterações eu encontrarei um pid no arquivo inicial que está desligado por 1.

Alguém sabe por que isso pode ocorrer?

    
por JasonG 18.09.2013 / 17:14

1 resposta

2

É possível que redis-server forks e que o PID obtido de $! seja o PID pai, mas você está realmente interessado no PID filho?

    
por 18.09.2013 / 19:14