RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
// 제작자 : 정 헌 학
// 연락처 : hunhak94@yahoo.co.kr
// 저작권 : GPL ( Gnu Public License )

// HUP, fork 를 이용한 daemon 만들기.
#include "sysconfig.h"
#include "Server.h"
#include "MailFilterServer.h"
#include "FileCtrl.h"
// for read config file #
include <signal.h>
// for signal 'HUP' char **argv;
// 시그널 핸들링 함수 .
void sig_hangup(int signum) {
cout << "Restarting...." << '\n'; execv(argv[0], argv); cout << "Could not restart" << '\n'; abort();
} void daemon() {
pid_t pid = fork();
switch (pid) {
case 0: close(0);
// 모든 출력을 닫읍시다. close(1); close(2); pid = setsid(); break; case -1: f
printf(stderr, "fail to launch daemon process\n"); exit(1); break; default: exit(0); break; } } int main(int argc, char** strings) { daemon(); // 만약 이게 없으면 부모 ps 는 좀비가 된다. // for HUP signal. struct sigaction act; bzero(&act, sizeof(act)); act.sa_handler = sig_hangup; act.sa_flags = SA_RESTART | SA_NOMASK; // if receive killall -HUP signal if(sigaction(SIGHUP, &act, 0) != 0) perror("Can't capture SIGHUP"); // 이 부분은 데몬에 따라 달라짐 .... try { Server* server = new MailFilterServer (SMTPPORT, 2, mailserver); server->MainLoop(); delete server; return 1; } catch(Exception& exp) { cerr << exp.GetMsg() << endl; return 0; } }
2006/10/22 02:13 2006/10/22 02:13
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2024/04   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)