Daemon

daemon은 주기적이고 지속적인 μ„œλΉ„μŠ€ μš”μ²­μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 계속 μ‹€ν–‰λ˜λŠ” λ°±κ·ΈλΌμš΄λ“œ ν”„λ‘œμ„ΈμŠ€μ˜ 일쒅이닀. λ¦¬λˆ…μŠ€μ—μ„œ μ„œλ²„ 역할을 ν•˜λŠ” ν”„λ‘œκ·Έλž¨λ“€μ΄ ν•΄λ‹Ήλ˜λ©°, 보톡 이름 뒀에 데λͺ¬μ„ λœ»ν•˜λŠ” dλ₯Ό 뢙인닀. (httpd, mysqld, ftpd)

싀행방법

  1. standalone : λΆ€νŒ… μ‹œμ— μ‹€ν–‰λ˜μ–΄ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€κ°€ λ©”λͺ¨λ¦¬μ— μƒμ£Όν•˜λ©΄μ„œ ν΄λΌμ΄μ–ΈνŠΈμ˜ μ„œλΉ„μŠ€ μš”μ²­μ„ 처리

    • μ›Ή, 메일 λ“±κ³Ό 같이 λΉˆλ²ˆν•œ μš”μ²­μ΄ λ“€μ–΄μ˜€λŠ” μ„œλΉ„μŠ€μ˜ κ²½μš°μ— standalone λ°©μ‹μœΌλ‘œ μ‹€ν–‰

    • 이 λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜λŠ” 데λͺ¬λ“€μ€ ν”„λ‘œμ„ΈμŠ€μ˜ μƒνƒœλ₯Ό ν™•μΈν•˜λŠ” ps λͺ…λ ΉμœΌλ‘œ 확인해보면 항상 λ™μž‘μ€‘μΈκ²ƒμ„ 확인할 수 μžˆλ‹€.

       $ ps aux # 싀행쀑인 전체 ν”„λ‘œμ„ΈμŠ€ 좜λ ₯
  2. inet : ν΄λΌμ΄μ–ΈνŠΈμ˜ μ„œλΉ„μŠ€ μš”μ²­μ΄ 듀어왔을 λ•Œ κ΄€λ ¨ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰μ‹œν‚€κ³  접속 μ’…λ£Œ ν›„μ—λŠ” μžλ™μœΌλ‘œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ’…λ£Œμ‹œν‚€λŠ” 방법

    • 자주 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ„œλΉ„μŠ€λ“€μ— λŒ€ν•œ 효율적인 λ©”λͺ¨λ¦¬ 관리

    • xinetd(2.4 버전 이후) / inetd(2.2버전 κΉŒμ§€) 데λͺ¬μ΄ μ΄λŸ¬ν•œ μ„œλΉ„μŠ€ 관리

      μ‹€ν–‰

데λͺ¬μ€ 주기적이고 지속적인 μ„œλΉ„μŠ€ μš”μ²­μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ ν”„λ‘œμ„ΈμŠ€μ΄λ―€λ‘œ 보톡 λΆ€νŒ…μ‹œμ— μ‹€ν–‰λœλ‹€. 데λͺ¬λ“€λ„ ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ΄κΈ° λ•Œλ¬Έμ— μ„€μΉ˜λ˜λŠ” 디렉터리가 λ‹€λ₯΄κ³ , λΆ€νŒ…λ˜λŠ” 런 λ ˆλ²¨μ— 따라 λ™μž‘ 유무λ₯Ό κ²°μ •ν•΄μ•Όν•œλ‹€.

λ¦¬λˆ…μŠ€μ—μ„œλŠ” 데λͺ¬μ˜ 효율적인 관리λ₯Ό μœ„ν•΄μ„œ, μœ λ‹‰μŠ€ 쀑에 System V κ³„μ—΄μ—μ„œ μ‚¬μš©ν•˜λŠ” 각 μ‹€ν–‰ 레벨 μ œμ–΄ 방식을 μ‚¬μš©ν•œλ‹€.

  • λΆ€νŒ…κ³Ό κ΄€λ ¨λœ 정보 : /etc/rc.d

  • κ΄€λ ¨λœ 데λͺ¬λ“€ : /init.d and rc0.d ~ rc6.d

/etc/rc.d/init.d

μ‹œμŠ€ν…œμ—μ„œ μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μ— λŒ€ν•œ μ‹œμž‘κ³Ό 쀑지λ₯Ό μ‹œν‚¬ 수 μžˆλŠ” 슀크립트λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” 디렉토리이닀.

$ /etc/rc.d/init.d/httpd stop         # λ™μž‘μ€‘μΈ μ•„νŒŒμΉ˜ μ›Ή 데λͺ¬ 쀑지
$ /etc/rc.d/init.d/httpd start         # μ•„νŒŒμΉ˜ μ›Ή 데λͺ¬ μ‹€ν–‰
$ /etc/rc.d/init.d/httpd restart     # μ•„νŒŒμΉ˜ μ›Ή 데λͺ¬ μž¬μ‹œμž‘(stop -> start)
$ /etc/rc.d/init.d/httpd reload     # μ•„νŒŒμΉ˜ μ›Ή 데λͺ¬ μ€‘μ§€μ‹œν‚€μ§€ μ•Šκ³ , ν™˜κ²½μ„€μ • 파일만 λ‹€μ‹œ 읽어듀인닀.

/etc/rc.d/init.d 에 μ‘΄μž¬ν•˜λŠ” 슀크립트λ₯Ό μ‰½κ²Œ μ‹œμž‘ν•˜κ±°λ‚˜ μ€‘μ§€μ‹œν‚¬ 수 μžˆλŠ” 슀크립트둜 μ ˆλŒ€ 경둜λ₯Ό μ „λΆ€ μž…λ ₯ν•˜λŠ” λŒ€μ‹ μ— $ service λͺ…λ Ήμ–΄λ₯Ό ν†΅ν•΄μ„œ μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ‹€.

$ service sendmail satrt

rc0.d ~ rc6.d

μ‹€ν–‰ λ ˆλ²¨μ— 따라 λΆˆν•„μš”ν•œ μ„œλΉ„μŠ€λ“€μ΄ μžˆμ„ μˆ˜λ„ 있고, κ΄€λ¦¬μžμ˜ ν•„μš”μ— 따라 μ›ν•˜μ§€ μ•ŠλŠ” μ„œλΉ„μŠ€λ“€μ€ etc/rc.d 디렉토리 μ•ˆμ— μžˆλŠ” rc0.d ~ rc6.d μ—μ„œ κ΄€λ¦¬ν•œλ‹€.

νŠΉλ³„ν•œ ν˜•μ‹μ„ κ°–λŠ” 데λͺ¬ μŠ€ν¬λ¦½νŠΈμ— λŒ€ν•œ 심볼릭 링크가 λ§Œλ“€μ–΄μ Έ 있고, init ν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰ 레벨 n을 μ‹œμž‘ν•˜λ©΄ ν•΄λ‹Ή 디렉터리에 μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  링크λ₯Ό μ κ²€ν•œλ‹€. 점검을 톡해 λΆ€νŒ…μ‹œμ— μ‹€ν–‰μ‹œμΌœμ•Όν•  μ„œλΉ„μŠ€λ₯Ό ν™•μΈν•˜μ—¬ κ΄€λ ¨ 데λͺ¬μ„ μ‹€ν–‰μ‹œν‚¨λ‹€.

  • ex) init ν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰ 레벨 5둜 λΆ€νŒ…ν•˜λ©΄ /etc/rc.d/rc5.d에 S둜 μ‹œμž‘λ˜λŠ” λͺ¨λ“  링크듀을 번호 μˆœμ„œλŒ€λ‘œ μ‹€ν–‰

    $ ll ./rc5.d
    lrwxrwxrwx. 1 root root 20 Nov 11  2016 K50netconsole -> ../init.d/netconsole
    lrwxrwxrwx. 1 root root 17 Nov 11  2016 K90network -> ../init.d/network
  • [K|S][번호][init.d_이름]

    ν•­λͺ©

    μ„€λͺ…

    K

    Kill을 μ˜λ―Έν•˜λ©° μ‹€ν–‰λ˜μ§€ μ•Šμ„ μ„œλΉ„μŠ€λ₯Ό 의미

    S

    Startλ₯Ό μ˜λ―Έν•˜λ©° ν•΄λ‹Ή μ‹€ν–‰ λ ˆλ²¨μ—μ„œ μ‹€ν–‰λ˜μ–΄μ•Όν•˜λŠ” μ„œλΉ„μŠ€λ₯Ό 의미

    번호

    순차적인 번호둜 링크 파일λͺ…μ—μ„œ 이 뢀뢄은 μ •μˆ˜ 2자리둜 λ˜μ–΄μžˆμœΌλ©° μ‹œμž‘μ΄λ‚˜ 쀑지 μˆœμ„œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” μƒλŒ€λ²ˆν˜Έμ΄λ‹€. λ²ˆν˜Έκ°€ μž‘μ„ 수둝 λ¨Όμ € μ‹€ν–‰λ˜λ©°, 클수둝 λ‚˜μ€‘μ— μ‹€ν–‰λœλ‹€. 번호λ₯Ό λΆ™μ΄λŠ” κ·œμΉ™μ€ μ—†μ§€λ§Œ μƒˆλ‘œμš΄ μ„œλΉ„μŠ€ μΆ”κ°€μ‹œ λ°˜λ“œμ‹œ ν•„μš”ν•œ μ„œλΉ„μŠ€λ“€μ΄ μ•žμ„œ μ‹€ν–‰λ˜λ„λ‘ ν•΄μ•Όν•˜λ©°, λ§Œμ•½ 동일 λ²ˆν˜Έκ°€ μžˆλ“œλ©΄ λŒ€λΆ€λΆ„ μ•ŒνŒŒλ²³ 순으둜 μ‹€ν–‰λœλ‹€.

    init.d_이름

    κ΄€μŠ΅μ— 따라 링크가 λ˜λŠ” 슀크립트λͺ…을 μ‚¬μš©. κ΄€λ¦¬μžκ°€ μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ 슀크립트λͺ…을 뢙여도 무방

κ΄€λ ¨ μœ ν‹Έλ¦¬ν‹°

  • ntsysv : ν˜„μž¬ κ΅¬λ™λœ μ‹€ν–‰ λ ˆλ²¨μ— λŒ€ν•œ 섀정을 ν•  수 μžˆλ‹€. /usr/bin/ntsysv μ‹€ν–‰μ‹œ μ‹€ν–‰λ˜λ©°, setup μœ ν‹Έλ¦¬ν‹°λ₯Ό μ‹€ν–‰ν•΄ 'System Service' λ₯Ό 선택해도 λœλ‹€.

    • $ ntsysv --level 5 : μ‹€ν–‰ 레벨 5 μ„œλΉ„μŠ€ 데λͺ¬ μ„€μ •

    • $ ntsysv : ν˜„μž¬ ꡬ동쀑인 레벨의 μ„œλΉ„μŠ€ 데λͺ¬ μ„€μ •

  • chkconfig : ν…μŠ€νŠΈ 기반의 λͺ…λ Ήν˜• ν”„λ‘œκ·Έλž¨μœΌλ‘œ μ‹€ν–‰ λ ˆλ²¨μ— λ”°λ₯Έ μ„œλΉ„μŠ€μ˜ on/off μ„€μ • 리슀트λ₯Ό 좜λ ₯ν•˜κ±°λ‚˜ μ„€μ •

    • $ chkconfig --list : 각 μ‹€ν–‰ λ ˆλ²¨μ—μ„œ μ„œλΉ„μŠ€ μ„€μ • μƒνƒœ λ³΄μ—¬μ€Œ

    • $ chkconfig --level 35 naemd on : μ‹€ν–‰ 레벨 3,5에 λŒ€ν•΄μ„œ named μ„œλΉ„μŠ€λ₯Ό on

    • $ chkconfig --level 5 --del adsl : μ‹€ν–‰ 레벨 5μ—μ„œ adsl μ„œλΉ„μŠ€ μ‚­μ œ

    • $ chkconfig sendmail off : sendmail μ„œλΉ„μŠ€λ₯Ό λΆ€νŒ…μ‹œμ— μ‹œμž‘ν•˜μ§€ μ•ŠμŒ. νŠΉλ³„νžˆ λ ˆλ²¨μ„ λͺ…μ‹œν•˜μ§€ μ•ŠμœΌλ©΄ 2~5레벨이 on/offλœλ‹€.

    • $ chkconfig telent on : ν…”λ„· μ„œλΉ„μŠ€λ₯Ό onν•œλ‹€

      • xinetd κΈ°λ°˜μ„ λ™μž‘

    • $ chkconfig --list telnet : xinetd 기반으둜 λ™μž‘ν•˜λŠ” μ„œλΉ„μŠ€λŠ” λ ˆλ²¨μ„ 보여주지 μ•Šκ³  μ‚¬μš©κ°€λŠ₯ μ—¬λΆ€λ§Œ 확인 κ°€λŠ₯ν•˜λ‹€.

    • $ chkconfig --list xinetd : μ‹€ν–‰ λ ˆλ²¨λ³„ μ‹€ν–‰ μ—¬λΆ€λŠ” ν•΄λ‹Ή λͺ…λ Ήμ–΄λ‘œ 확인

μ°Έμ‘°

Last updated

Was this helpful?