KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Possible Duplicate: In Linux, how to prevent a background process from being stopped after closing SSH client I have a C program which I access and interact with over terminal (usually from SSH on a linux box). I have been trying to find the solution to the problem where after I close the terminal/logout, the process ends with it (the program basically asks for some options then goes about its business with no further interaction required so I would like to have it continue to run even after I logout of SSH). There are ways in linux to avoid this such as 'screen', but I want to do it programatically with C without relying on installed packages such as screen- even if this means reinventing the wheel. So far I understand fork() to be the standard trivial way to daemonize a process, so could anyone help me to finish the code that allows the above described process to happen? Within parent: main() { //Do interactive stuff signal(SIGCHLD, SIG_IGN); //stops the parent waiting for the child process to end if(fork()) exit(0); // and now the program continues in the child process I can now logout of SSH which closes the original shell...and the child continues its work! Within child: //Continue with processing data/whatever the program does (no input/output to terminal required) exit(0);
Tags (comma-separated)
Save Edits
Cancel