![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| script to monitor process running on server and posting a mail if any process is dead | pradeepmacha | Shell Programming and Scripting | 13 | 03-06-2009 07:33 AM |
| daemon process | suresh_rupineni | Linux | 1 | 08-21-2006 03:14 AM |
| zombie daemon process!! | rish2005 | UNIX for Advanced & Expert Users | 1 | 11-25-2005 09:59 AM |
| Should a UNIX daemon process close open fds? | kunalashar | UNIX for Dummies Questions & Answers | 1 | 10-24-2002 10:10 AM |
| what is a daemon process | Kanu77 | High Level Programming | 6 | 03-08-2002 10:47 AM |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
Hi,
I have to write a daemon process, which performs certain operations in the background. Now since it performs operations in the background, it should not display anything to the standard output. The problem is that it still displays, text on standard output. Can anyone tell me (it is urgent) how to avoid this. I have written the following function to initialize the daemon code ... int daemon_init() { int pid, fd; if (getppid() == 1) { goto out; } #ifdef SIGTTOU signal(SIGTTOU, SIG_IGN); #endif #ifdef SIGTTIN signal(SIGTTIN, SIG_IGN); #endif #ifdef SIGTSTP signal(SIGTSTP, SIG_IGN); #endif pid = fork(); if (pid < 0) { return -1; } else if (pid > 0) { /* In parent exit leaving the child to work */ exit(0); } if (setpgrp() == -1) { return -1; } signal(SIGHUP, SIG_IGN); pid = fork(); if (pid < 0) { return -1; } else if (pid > 0) { /* first child exits */ exit(0); } out: /*for (fd = 3; fd < NOFILE; fd++) close(fd);*/ /* In child detach from the parents session */ /*setsid();*/ chdir("/"); umask(0); return 0; } |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|