Witam co musze dopisac do kodu programu zeby siedzial sobie w pamieci odpalony i dzialal a nie np wpisuje ./a.out i ciagle cos chce ode mnie... chce zeby go wlaczyc i sobie byl odpalony, nie piszcie o ./a.out & bo na pewno jest cos lepszego ? :p pozdro
0
0
daemon uruchamia proces w tle o ile sie nie myle
0
robisz forka i zamykasz parenta.
int main() {
int res = fork();
printf("Demonizing: ");
if (res == -1) printf("ERROR!\n");
if (res > 0) {
printf("OK! (pid = %d)\n",res);
return 0;
}
while(1) {
/*
* tutaj to co chcesz zeby robil
*/
}
}
~ $ gcc daemon.c
~ $ ./a.out
Demonizing: OK! (pid = 23577)
~ $ ps axuf |grep "23577"
1000 23577 95.6 0.0 1308 288 pts/3 R 18:49 0:05 ./a.out
0
przyklad z perla
use POSIX;
#czesc dzialajaca normalnie
fork() and exit(); # rozgalezienie procesu i zakonczenie glownego
setsid(); # nowa sesja
# zamkniecie urzadzen we/wy
close(STDIN);
close(STDOUT);
close(STDERR);
#czesc wykonujaca prace w tle