for(....CNT...){
...(앞부분- 'kill'포함)
START_THE_PROCESS(char* pNAME);
...
}
이런 식으로 for문을 돌려서, 죽은 프로세스를 다시 시작하는 루틴이 있습니다.
이름을 받아서 이미 running인지, 아닌지를 판단한 후에 시작하는 함수 START_THE_PROCESS에서 프로세스를 시작시킵니다.
문제는 for문에서 CNT인데요. 이 값의 크기 만큼 반복을 합니다.
해서 발생할 수 있는 문제는...
1. 아시겠지만, 프로세스가 바로 살아 나는 것이 아니기 때문에, 시스템마다 다르겠지만, START_THE_PROCESS에서 살린 후에 아직 RUNNING상태가 되기 전에 - 그러니까, 아직은 죽은 상태로 나오겠죠.- 다시 START_THE_PROCESS에 들어가게 되면 중복실행이 되는 경우가 있습니다.