Uruchomianie programu w tle ?

0

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

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1