diff --git a/server b/server index 5a32184..eb5cd1e 100644 Binary files a/server and b/server differ diff --git a/server.c b/server.c index f1d2450..0a2bf1a 100644 --- a/server.c +++ b/server.c @@ -186,12 +186,14 @@ int main(int argc, char *argv[]) { int times = 0; sscanf(argv[2], "%d", ×); if(times > 0) { - fp = NULL; - fp = fopen(argv[3], "rb+"); - if(!fp) fp = fopen(argv[3], "wb+"); - if(fp) { - if(bindServer(port, times)) if(listenSocket(times)) while(1) acceptClient(); - } else fprintf(stderr, "Error opening dict file: %s\n", argv[3]); + if(daemon(1, 1) >= 0) { + fp = NULL; + fp = fopen(argv[3], "rb+"); + if(!fp) fp = fopen(argv[3], "wb+"); + if(fp) { + if(bindServer(port, times)) if(listenSocket(times)) while(1) acceptClient(); + } else fprintf(stderr, "Error opening dict file: %s\n", argv[3]); + } else perror("Start daemon error"); } else fprintf(stderr, "Error times: %d\n", times); } else fprintf(stderr, "Error port: %d\n", port); }