2013-08-28 5 views
0

다른 데몬이 아닌 "아닌"인스턴스입니다. 나는 다음 스크립트를 사용했지만 데몬을 멈추고 재시동 한 후 시작 시마다 멈춘다.여러 개의 데몬을 시작하는 방법, 시작과 함께 복수의 데몬을 시작 및 중지

#ubuntu upstart script for antkorp services 
description "Antkorp colloboration and communication platform" 
author "www.antkorp.in" 

task 
start on runlevel [2345] 
stop on runlevel [016] 

pre-start script 
     logger -t "antkorp:" "antkorp platform booting..."; 
end script 

post-start script 
     logger -t "antkorp:" "antkorp platform started successfully."; 
end script 

pre-stop script 
     logger -t "antkorp:" "antkorp platform stopping.."; 
end script 

post-stop script 
     logger -t "antkorp:" "antkorp platform stopped successfully."; 
end script 

여기에는 데몬 용 init 파일이 있습니다.

description  "antkorp gw daemon" 

start on starting akorp 
stop on stopping akorp 

expect fork 
respawn 

pre-start script 
logger -t "gw:" "antkorp gw daemon about to start."; 
end script 

exec /home/rk/gw 

post-start script 
logger -t "gw:" "antkorp gw daemon started successfully."; 
end script 

pre-stop script 
logger -t "gw:" "antkorp gw daemon stopping ..."; 
end script 

post-stop script 
logger -t "gw:" "antkorp gw daemon stopped."; 
end script 

수동 '중지'가 올바르게 작동하지만 '시작'이 정지합니다. 제발 조언.

여기에 데몬 소스 코드가 있습니다.

#include<stdio.h> 
#include<unistd.h> 
#include<signal.h> 
#include<stdlib.h> 

void 
sigterm_handler(int signo) 
{ 
    exit(1); 
    return; 
} 

int 
main(int ac, char **av) 
{ 
    signal(SIGTERM, sigterm_handler); 
    daemon(0,0); 
    while(1) sleep(1); 
    return 0; 
} 
+0

나는 'daemon'기능을 사용하여 데몬을 만듭니다. 데몬 구성 파일에서 '포크 예상'을 볼 수 있습니다. –

+0

"sudo stop gw"및 "sudo start gw"명령은 매달려서 잘 작동합니다. –

답변

0

많은 시도와 오류로 마침내 해결되었습니다. 마스터 스크립트 "akorp.conf"파일에서 "task"키워드를 제거하면 문제가 해결됩니다.