Posted by : Unknown Minggu, 02 November 2014


Daemon atau disebut background proses adalah suatu proses pemisahan dari parent proses menjadi child proses. Sehingga child proses berjalan secara independen dan proses nya memiliki PID sendiri.
berikut contoh Daemon.c (hanya bisa di compile atau di run di Linux):

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

int main() {
 pid_t pid, sid;
 FILE *fp = NULL;
 pid = fork();
 
 if (pid < 0) 
  exit(EXIT_FAILURE);
 if (pid > 0)
  exit(EXIT_SUCCESS);
 
 umask(0);

 sid = setsid();
 if (sid < 0)
  exit(EXIT_SUCCESS);

 if ((chdir("/")) < 0)
  exit(EXIT_SUCCESS);

 close(STDIN_FILENO);
 //close(STDOUT_FILENO);
 close(STDERR_FILENO);

 fp = fopen("log.txt", "w+");
 while (1) {
  sleep(10);
 // printf("Tes\n");
  fprintf(fp, "Logging info...\n");
  fflush(fp);
 }
 fclose(fp);
}

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Popular Post

Blogger templates

Labels

Diberdayakan oleh Blogger.

- Copyright © Master Developer -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -