데몬을 하나 만들었는데..어떻게 활성화를?

gundukee의 이미지

uucpd 데몬의 소스를 수정했거든요.
그냥 아무 동작 안하고 계속 입력만 받는걸로...
이걸 inetd 에서 띄울려면 어케 하죠?

/etc/services 파일에
my-netd 10000/tcp

이렇게 하고
/etc/rc.d/init.d/network restart 했는데..

/etc/xinetd.d/ 밑에 my-netd 라는 파일도 이렇게 만들어서
service my-netd
{
socket_type = stream
protocol = tcp
user = root
wait = no
disable = no
port = 10000
server = /etc/rc.d/init.d/my-netd
}

/etc/rc.d/init.d/xinetd restart 이렇게도 해봤는데...

telnet 127.0.0.1 10000 으로 접속하는데 연결이 안되네요.

뭐가 잘못된걸까요?
원래 위에서처럼 포트번호가 지정되면 telnet 으로 접속이 안되는건가요?
데몬이 살아있는지는 뭘로 확인해야 할까요?
그 데몬에 접속할려면 어떻게 해야 할까요?
아니면 뭘 크게 잘못알고 있는걸까요? ^^;

codebank의 이미지

보통 server에는 그 데몬의 실행파일의 절대경로가 써져야하는게
아닌가요?
즉, /usr/local/bin/my-netd 파일을 복사해 놓았다면

service my-netd
...
server=/usr/local/bin/my-netd
...

이렇게 해놓아야 할것 같은데요...

------------------------------
좋은 하루 되세요.

익명 사용자의 이미지

rc스크립트를 통해 활성화/비활성화 시켜려는 데몬 프로그램의 소스는 항상 다음과 같은 절차가 필요합니다.

int main()
{
       switch( fork() )
        {
                 case -1:
                         exit(1);
                 case 0:
                         setsid();   // 이거이 필요한데..man 활용하시길..
                         break;
                  default:
                         exit(0);
        }

        // 통상 이후에 루프를 돌지요..
        while( 1 ){

         // something to do

        }
        return 0;
}

다음에 이 실행파일을 /usr/sbin로 카피합니다.
그리고 crond의 rc스크립트를 수정합니다.

#! /bin/bash
#
# crond Start/Stop the cron clock daemon.
#
# chkconfig: 2345 90 60
# description: cron is a standard UNIX program that runs user-specified \
# programs at periodic scheduled times. vixie cron adds a \
# number of features to the basic UNIX cron, including better \
# security and more powerful configuration options.
# processname: crond
# config: /etc/crontab
# pidfile: /var/run/crond.pid

이하 생략....
요 주석처리된 것은 절대 기냥둡니다. 물론 crond라고 되있는건 알아서 만든 데몬이름으로 바까줍니다. /etc/aaad로 /var/run/aaad.pid로

# chkconfig: 2345 90 60 이 라인이 굉장히 중요한데 이건 맨 앞의 수는 실행레벨 2, 3, 4, 5 에 활성화하라는 애기고요. 다음 90은 실행 우선순위고요 뒤의 60은 종료우선순위입니다. 일단 만드신 데몬은 항상 맨 마지막에 실행되게 해주시고요. 한 99 로 정하면 되겠죠!. 종료우선순위는 맨 앞으로 해주세요. 젤 적은 수로 정하세요. 한 10 이하루다.

파일의 crond라고 되있는 부분을 모조리 aaad로 바까줍니다.

다 수정하셨으면...aaad라고 저장합니다.
이 넘을 /etc/rc.d/init.d로 옮겨놓습니다.

그 다음 그리로 가서 다음 명령을 실행합니다.

chkconfig --add aaad

요걸 실행하면 rc2.d rc3.d rc4.d rc5.d 에서 K99aaad S10aaad라는 심볼릭 링크를 알아서 맹글어 줍니다. K는 start고요. S는 stop입니다. 숫자는 우선순위 위에서 얘기했죠? 요거땜시롱 위 그 라인에 막 중요합니다.

아무말 없으면 성공한겁니다. 말 많으면 실패한거구요...
실패하는 이유는 프로그램이 데몬형식인지 아닌지의 여부와 rc스크립트가 적절히 수정됐는지 여부입니다.

성공하면 ntsysv를 해보세요..
맨위에 aaad가 다른 넘들과 똑같이 설정되있는 것을 보실 수 있을겁니다. 알파벳순이라 aaad라면 제일위죠? :-)

담부턴 /etc/rc.d/init.d/aaad start하면 활성화 되구요...다른 데몬처럼 [확인]이라는 메시지가 뜹니다..stop해도 뜨죠...흐흐

고물의 이미지

xinetd에 설정 중에

Quote:
disable = no

위의 사항을 no로 해주시면 원격에서 그 포트로 접속을 할 경우에
설정된 실행파일을 실행시키면서 연결합니다.

데몬으로 띄우실려면 disable=yes라고 하셔야 할듯..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.