시작 스크립트: $!를 사용하여 pidfile을 만듭니다. - 때때로 잘못된 pid를 반환합니다(하나씩 다름).

시작 스크립트: $!를 사용하여 pidfile을 만듭니다. - 때때로 잘못된 pid를 반환합니다(하나씩 다름).

테스트 서버에는 3개의 Redis 인스턴스가 실행되고 있습니다. 어떤 이유로 redis를 시작하는 시작 스크립트가 파일에 잘못된 pid를 쓸 수 있습니다. 수행하는 작업은 다음과 같습니다.

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

시작을 함께 연결 한 redis_6379 start && redis_6380 start && redis_6381다음 그렇게 중지하고 그렇게 시작하면 10~15번 반복한 후 시작 파일에서 pid가 1로 표시됩니다.

왜 이런 일이 일어나는지 아는 사람이 있나요?

답변1

포크하는 것이 가능하며 redis-server여기서 얻은 PID는 $!상위 PID이지만 실제로는 하위 PID에 관심이 있습니까?

관련 정보