06/12/09 23:28:20 ct3MaVHM
ロックファイルを使う方法はなんとなくわかったから、実行ファイルにflock()を実験してみた。
そしたら実行ファイル自体にflock()はできるみたい。
実際、実行ファイルをflock()していいのか分からないけど、
下のプログラムで2重起動防止は成功した。
int main(int argc, char *argv[]){
int fd = open(argv[0], O_RDONLY);
if(fd == -1){
return 0;
}
if(flock(fd, LOCK_EX | LOCK_NB) == -1){
return 0;
}
//処理
flock(fd, LOCK_UN);
close(fd);
return 0;
}
だめな部分あったら教えてください。