Processos em Background

1. Processos em Background

Eder Figueiredo
ede_fig

(usa Ubuntu)

Enviado em 01/12/2009 - 08:45h

Caros amigos sou totalmente iniciante no Linux, tenho o seguinte programa:

#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>

#define MAX_ARQS 64

int daemon_init_simplificado(const char* exec);


int main(int argc, char* argv[])
{
int res;

if (argc < 2) {
printf("USO: %s <comando>\n",argv[0]);
return 1;
}

res = daemon_init_simplificado(argv[1]);

return 0;
}


int daemon_init_simplificado(const char* exec)
{
int i;
pid_t pid;

pid = fork();
if (pid != 0)
exit(0);

chdir("/");

for (i=0; i<MAX_ARQS; i++)
close(i);

open("/dev/null",O_RDONLY);
open("/dev/null",O_RDWR);
open("/dev/null",O_RDWR);

execl(exec,NULL);

return -1;
}


Alguem poderia me ajudar a enteder oque acontece, qual a explicação pois qual compilo e tento rodar o programa aparece a seguinte frase

./daemon <comando>

E pelo que vejo nada aocntece.



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts