데몬으로 파일에 기록하기.
글쓴이: i_wish_awk_sed_perl / 작성시간: 목, 2004/04/01 - 12:15오전
간단하게 나마 데몬 프로세스를 만들고 파일에 프로세스 번호를 기록하려고 합니다만 파일은 생성이 되지만 파일에 프로세스 번호를 기록하지 못하고 있습니다.
/* inet6_proc_daemon.c */ #include "inet6_proc_daemon.h" void pid_fileopen(char *name); int main(int argc, char *argv[]) { pid_t pid; if(argc < 2) { fprintf(stderr, "agrc error\n"); exit(0); } if((pid = fork()) < 0) exit(0); if(pid != 0) exit(0); chdir("/tmp"); // setsid(); // signal(SIGHUP, SIG_IGN); pid_fileopen(argv[1]); while(1) { sleep(1); } return(0); }
/* inet6_proc_daemon.h */ #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <fcntl.h> #include <signal.h> void pid_fileopen(char *name) { FILE *pid_file; char pid[10]; sprintf(pid, "%d", (int)getpid()); pid_file = fopen(name, "w"); fputs(pid, pid_file); close(pid_file); }
제가 데몬에 대해서 제대로 이해하고 있지 못한거 같습니다...데몬 관련 코드를 지우고 그냥 하면 파일을 잘 생성하고 생성된 파일에 프로세스 번호까지 잘 기록하는데 말이죠.
어떤 부분이 잘 못되었는지요?
Forums:
[code:1] FILE *pid_file; ..
FILE * 형은 fclose 를 써야합니다.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
댓글 달기