¸¹Àº ÇʵåµéÀÌ ´ÙÀ̾ó·Î±×¿¡¼ ¼±ÅûçÇ×ÀÔ´Ï´Ù. ¿©±â¿¡ À̵éÀÇ ¼³¸íÀÌ ÀÖ½À´Ï´Ù. °¢°¢¿¡ ´ëÇÏ¿©, ÁÖ¾îÁø Sysv ½ºÅ©¸³Æ®¸¦ Çâ»ó½Ã۱â À§ÇÏ¿© ÇÊ¿äÇÑ ÇØ´ç ÅÂÅ©(tag) ¶ÇÇÑ Á¦½ÃÇÒ °ÍÀÔ´Ï´Ù. Dropin°ú Sysv init ½ºÅ©¸³Æ®´Â µÑ´Ù linuxconf¿¡¼ °°Àº ¿£Áø¿¡ ÀÇÇÏ¿© Áö¿øµË´Ï´Ù.
°£´ÜÈ÷ À̸§À» Á¦°øÇϽʽÿä. °¢ dropinÀº °íÀ¯ÇÑ À̸§À» °®½À´Ï´Ù.
¸ðµç dropinÀº /etc/linuxconf/control
¿¡ ASCII ÈÀÏ·Î ÀúÀåµË´Ï´Ù.
À̸§Àº ´ÙÀ½°ú °°Àº ´Ù¾çÇÑ ´Ù¸¥ ¼ºñ½º¸¦ À§ÇÑ Å°·Î »ç¿ëµË´Ï´Ù.
ÇöÀç »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ¿©±â¿¡ 1À» ÀÔ·ÂÇϽʽÿä.
ÀÌ ÆÐŰÁö°¡ ¹«¾ùÀ» ÇÏ´ÂÁö¸¦ ¼³¸íÇÏ´Â °£´ÜÇÑ ÅØ½ºÆ®¸¦ ÀÔ·ÂÇϽʽÿä. ¸Þ´º¿Í ´ÙÀ̾ó·Î±×¸¦ ¸¸µå´Âµ¥ ÀÌ¿ëµÇ¹Ç·Î °£°áÇÏ°Ô ÇϽʽÿä.
ÆÐŰÁö¸¦ ½ÃÀÛÇϰí ÃʱâÈ Çϴµ¥ ÇÊ¿äÇÑ ¸í·É¾î(Àμö¿Í ÇÔ²²)¸¦ ¿ÏÀüÇÑ ÇüÅ·ΠÁ¦°øÇϽʽÿä.
ÀÌ Çʵå´Â ¼±ÅûçÇ×ÀÔ´Ï´Ù. ÆÐŰÁö¸¦ Á¤ÁöÇϴµ¥ ÇÊ¿äÇÑ ¿ÏÀüÇÑ ÇüÅÂÀÇ ¸í·É¾î¿Í Àμö¸¦ Á¦°øÇϽʽÿä. ¸¸ÀÏ ÀÌ Çʵ尡 ºñ¾î ÀÖÀ¸¸é, Linuxconf´Â ÇÁ·Î¼¼½º¸íÀ» ÀÌ¿ëÇÒ °ÍÀ̸ç, ÇØ´ç ÇÁ·Î¼¼½º¸¦ Á×ÀÏ(kill) °ÍÀÔ´Ï´Ù. ´ÙÀ½À» º¸½Ê½Ã¿ä.
ÀÌ Çʵå´Â ¼±ÅûçÇ×ÀÔ´Ï´Ù. ÆÐŰÁö¸¦ Àç½ÃÀÛÇϰųª Àç-ÃʱâÈ Çϴµ¥ ÇÊ¿äÇÑ ¿ÏÀüÇÑ ÇüÅÂÀÇ ¸í·É¾î¿Í Àμö¸¦ Á¦°øÇϽʽÿä. ¸¸ÀÏ ÀÌ Çʵ尡 ºñ¾î ÀÖÀ¸¸é, linuxconf´Â Á¤Áö¿Í ½ÃÀÛ ¸í·É¾î¸¦ »ý¼ºÇÒ °ÍÀÔ´Ï´Ù.
ÀÌ Çʵå´Â ¼±ÅûçÇ×ÀÌ¸ç º¹ÀâÇÑ ÆÐŰÁöÀÇ °æ¿ì¿¡¸¸ ÇÊ¿äÇÕ´Ï´Ù. Linuxconf´Â ´Ù¾çÇÑ Å×½ºÆ®¸¦ ¼öÇàÇϴµ¥, ½Ã½ºÅÛ ±¸¼º ÈÀÏÀÇ °³Á¤ÀÏ¿¡ ´ëÇÑ ÆÐŰÁö¿Í °ü·ÃµÈ ÇÁ·Î¼¼½ºÀÇ ³ªÀÌ(age)¸¦ ºñ±³ÇÕ´Ï´Ù. ¸¸ÀÏ ½Ã½ºÅÛ ±¸¼º ÈÀÏÀÌ º¸´Ù »õ·Î¿î °ÍÀ̶ó¸é, Linuxconf´Â ÆÐŰÁö¿¡ ÀçÀåÀü(reload) ¸í·É¾î(ȤÀº Á¤Áö/½ÃÀÛ ½ÃÄö½º)¸¦ ½ÃÀÛ½Ãŵ´Ï´Ù.
ÀϺΠÆÐŰÁö´Â º¹ÀâÇÑ ½Ã½ºÅÛ ±¸¼º ÈÀÏÀ» °®À¸¸ç dropin¿¡¼ ¿°ÅµÉ ¼ö ¾ø½À´Ï´Ù. ȤÀº ±×µéÀÇ »óŰ¡ ´Ù¸¥ ¿äÀο¡ ÀÇÇÏ¿© ¿µÇâÀ» ¹Þ½À´Ï´Ù.
Á¡°Ë(rpobe) ¸í·É¾î´Â ´ÜÁö ¸í·É¾îÀÇ °æ·ÎÀÏ »ÓÀÔ´Ï´Ù. Linuxconf´Â ´ÜÁö ÇϳªÀÇ Àμö "probe"·Î À̰ÍÀ» ºÎ¸£°Ô µË´Ï´Ù. ¸í·ÉÀº ÀÌ¿¡ ¹ÝÀÀÇÏ¿© ÀÌ Àμö¿¡ ¶óÀÎÀ» Ãâ·ÂÇϰųª ȤÀº Çʿ䰡 ¾øÀ» ¶§´Â ¾Æ¹«°Íµµ ÇÏÁö ¾Ê°Ô µË´Ï´Ù. Ç¥ÁØÀûÀÎ ¾×¼Ç, Áï, "½ÃÀÛ", "Á¤Áö", ±×¸®°í "Àç½ÃÀÛ"Àº linuxconf¿¡ ÀÇÇÏ¿© ÇØ¼®µÇ°í ¾×¼ÇÀ» ¼öÇàÇϱâ À§ÇÏ¿© Á¦°øµÈ ½ÃÀÛ, Á¤Áö ±×¸®°í ÀçÀåÀü ¸í·ÉµéÀ» »ç¿ëÇÒ °ÍÀÔ´Ï´Ù.
Á¡°Ë(probe) ¸í·ÉÀº ¶ÇÇÑ "unknown"(Linuxconf¿¡) ¾×¼ÇÀ» µÇµ¹¸± ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì¿¡´Â, Á¡°Ë(probe) ¸í·É ÀÚü´Â ÀÌµé ¾×¼ÇµéÀ» ¼öÇàÇϱâ À§ÇÏ¿© ºÒ¸®¿ö Áú °ÍÀÔ´Ï´Ù.
´ÙÀ½ÀÇ ¶óÀÎÀ» Sysv ½ºÅ©¸³Æ®¿¡ Ãß°¡Çϸé, Linuxconf·Î ÇÏ¿©±Ý "probe" Àμö·Î ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϵµ·Ï Áö½ÃÇÏ´Â °ÍÀÔ´Ï´Ù. Ãâ·Â(output)Àº dropin ó·³ »ç¿ëµË´Ï´Ù.
# probe: true
ÀÌ Çʵå´Â ¼±ÅûçÇ×ÀÔ´Ï´Ù. ´ç½ÅÀº Àμö¿Í ÇÔ²² ¿ÏÀüÇÑ ÇüÅÂÀÇ ¸í·É¾î¸¦ ÀÔ·ÂÇϽʽÿä. ÀÌ ¸í·É¾î´Â linuxconf¿¡ ÀÇÇÏ¿© ºÎÆÃ½Ã¿¡ ½ÇÇàµÉ °ÍÀ̸ç, runlevel ¼±Åà ¸Þ´º°¡ ÆË¾÷(popping)µÇ±â Á÷Àü¿¡ ½ÇÇàµË´Ï´Ù. ÀÌ ¸í·É¾îÀÇ Ãâ·ÂÀº Linuxconf ·Î±×ÀÇ "ºÎÆÃÀü Ÿ½ºÅ©" »ö¼Ç¿¡ ±â·ÏµÉ °ÍÀÔ´Ï´Ù.
ÀÌ »ö¼ÇÀº ¼±ÅûçÇ×ÀÔ´Ï´Ù. ´ç½ÅÀº ½ÃÀÛ ¸í·É¾î(Ç×»ó ÀÛµ¿ÇÏ´Â µ¥¸óµé)¿¡ ÀÇÇÏ¿© ½ÃÀ۵Ǵ ´Ù¾çÇÑ ÇÁ·Î¼¼½º¸íµéÀ» ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ ÀÌ »ö¼ÇÀ» ºñ¿ö µÎ¸é, Linuxconf´Â °¢ ÇÁ·Î¼¼½ºÀÇ À̸§À» ½ÃÀÛ ¸í·É¾î ÀÚü·ÎºÎÅÍ °è»êÇÒ °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, ¸¸ÀÏ ½ÃÀÛ ¸í·É¾î°¡ ´ÙÀ½°ú °°À¸¸é,
/usr/sbin/foo -a -b
ÇÁ·Î¼¼½º¸íÀº foo ÀÔ´Ï´Ù.
¿©·¯°³ÀÇ ÇÁ·Î¼¼½º ¸íÀ» Á¦°øÇÒ ¶§´Â, Linuxconf´Â ÇØ´ç ÆÐŰÁö°¡ ½Ã½ºÅÛ ±¸¼º ÈÀϰú ºñ±³ÇÒ¶§ ÃÖ½ÅÀÇ °ÍÀÎÁö¸¦ ¾Ë¾Æº¸±â À§ÇÏ¿© ¸ðµç À̵é ÇÁ·Î¼¼½º¸íÀ» Á¶»çÇÒ °ÍÀÔ´Ï´Ù.
´ÙÀ½ÀÇ Å±״ ´ç½ÅÀ¸·Î ÇÏ¿©±Ý Sysv ½ºÅ©¸³Æ®¿¡ ÀÇÇÏ¿© ½ÃÀ۵Ǵ ÇÁ·Î¼¼½º¸íÀ» ÁöÁ¤Çϵµ·Ï ÇÕ´Ï´Ù. ´ç½ÅÀº ű׸¦ ¿©·¯¹ø ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
# processname: foo
ÀÌ »ö¼ÇÀº ¼±ÅûçÇ×ÀÔ´Ï´Ù. ÀϺΠÆÐŰÁö´Â µ¥¸óÀ» º¹¼ö·Î ½ÃÀÛÇÕ´Ï´Ù. Linuxconf´Â ¾î´À °ÍÀÌ ¸¶½ºÅÍ(master)ÀÎÁö¸¦ ¾Ë¾Æ¾ß ÇÏ°í °¨½ÃµÇ¾î¾ß ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ ÆÐŰÁöµéÀº ÇØ´ç ÆÐŰÁöÀÇ ÁÖ(main) ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º ID¸¦ Æ÷ÇÔÇϰí ÀÖ´Â ÀÛÀº ÅØ½ºÆ® ÈÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ Çʵå´Â ÀϹÝÀûÀ¸·Î /var/run¿¡ .pid¶ó´Â È®ÀåÀÚ¸íÀ¸·Î ÀúÀåµË´Ï´Ù.
¿©·¯°³ÀÇ ÇÁ·Î¼¼½ºµéÀ» ½ÃÀÛ½ÃŰ´Â ÆÐŰÁö´Â ¿©·¯°³ÀÇ PID ÈÀÏÀ» °¡Áú ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ÀÇ Å±״ ´ç½ÅÀ¸·Î ÇÏ¿©±Ý Sysv ½ºÅ©¸³Æ®¿Í ¿¬°èµÈ PID ÈÀÏÀ» ÁöÁ¤Åä·Ï ÇÕ´Ï´Ù. ´ç½ÅÀº ű׸¦ ¿©·¯¹ø ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
# pidfile: /var/run/foo.pid
ÀÌ »ö¼ÇÀº Linuxconf¿¡°Ô ¾ðÁ¦ ÆÐŰÁö°¡ ½ÃÀ۵Ǿî¾ß ÇÏ´ÂÁö¸¦ ¾Ë·ÁÁÝ´Ï´Ù.
ÀÌ Çʵå´Â ¼±ÅûçÇ×ÀÔ´Ï´Ù. ´ç½ÅÀº ÆÐŰÁö¸¦ À̰÷¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµç »ç¿ë°¡´ÉÇÑ ÆÐŰÁö¸¦ º¸¿©ÁÖ´Â µµ¿ò¸» ¸®½ºÆ®°¡ ÀÖ½À´Ï´Ù. Linuxconf´Â ÇöÀçÀÇ ÆÐŰÁö¸¦ ´ç½ÅÀÌ À̰÷¿¡ ÀÔ·ÂÇÑ °Í ÀÌÈÄ¿¡ ½ÃÀÛÇϰí ȤÀº Á¡°Ë(probe)ÇÒ °ÍÀÔ´Ï´Ù.
Linuxconf´Â 3°³ ·¹º§ÀÇ ³×Æ®¿öÅ© Ȱµ¿À» Á¤ÀÇÇÕ´Ï´Ù:
´ç½ÅÀº À̰÷¿¡ ¾î¶² run-lvel¿¡¼ ÆÐŰÁö°¡ ½ÃÀ۵Ǿî¾ß ÇÏ´ÂÁö¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÁÖ¾îÁø run-level¿¡¼ ½ÃÀÛµÈ ÆÐŰÁö´Â ±× ÀÌÈÄÀÇ ·¹º§¿¡¼ »ç¿ë °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¸é, ¸¸ÀÏ ´ç½ÅÀÌ ÆÙŰÁö¸¦ "Ŭ¶óÀÌ¾ðÆ® ³×Æ®¿öÅ·"À» Àΰ¡Çϱâ·Î °áÁ¤ÇÑ´Ù¸é, À̰ÍÀº "¼¹ö ³×Æ®¿öÅ·"¿¡¼µµ ¶ÇÇÑ Çã¿ëµÉ °ÍÀÔ´Ï´Ù.
´ç½ÅÀº ºÎÆÃ½Ã¿Í Á¦¾îÆÇ ¸Þ´º(³×Æ®¿öÅ© run-level Àüȯ)¿¡¼ ³×Æ®¿öÅ· run-level¿¡ ´ëÇÑ Á¦¾î¸¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾Õ¼± Çʵ忡¼, ´ç½ÅÀº ¾î¶² run-level¿¡¼ ÆÐŰÁö¸¦ ½ÃÀÛÇÒ Áö¸¦ °áÁ¤ÇÕ´Ï´Ù. ¿©±â¼´Â ¾î¶² run-level¿¡¼ »ç¶óÁ®¾ß ÇÏ´ÂÁö¸¦ °áÁ¤ÇÕ´Ï´Ù. ´ç½ÅÀº ¶ÇÇÑ ÀÏ´Ü ½ÃÀÛµÇ¸é °áÄÚ Á×ÀÏ ¼ö ¾ø´Â ÆÐŰÁö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ »ö¼Ç¿¡¼´Â, ÆÐŰÁöÀÇ »óÅ¿¡ ¿µÇâÀ» ÁÖ´Â ¸ðµç ½Ã½ºÅÛ ±¸¼º ÈÀϵé (°¡´ÉÇÏ´Ù¸é)À» ¿°ÅÇØ¾ß ÇÕ´Ï´Ù. °¢ ½Ã½ºÅÛ ±¸¼º ÈÀÏ¿¡ ´ëÇÏ¿© ÇØ´ç ÆÐŰÁö°¡ ÀÚµ¿ ÀçÀåÀü(auto-reload)ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. Linuxconf¸¦ Á¡°ËÇϴµ¥ Âü¿©ÇÏÁö ¾ÊÀ» ÀÚµ¿ ÀçÀåÀüµÈ ½Ã½ºÅÛ ±¸¼º ÈÀÏÀº º¸Åë ÆÐŰÁö°¡ Àç½ÃÀ۵Ǿî¾ß ÇÏ´ÂÁö¸¦ °áÁ¤ÇÏ´Â ÀÏÀ» ÇÕ´Ï´Ù. ±×¿Í °°ÀÌ ÀÚµ¿ ÀçÀåÀü(auto-reloaded)µÈ ÈÀÏÀº »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í ¿©±â¿¡ À̵éÀ» ¿°ÅÇÏ´Â °ÍÀÌ ÁÁÀºµ¥, ¿Ö³ÄÇϸé À̵éÀÌ ÀÚµ¿À¸·Î "½Ã½ºÅÛ ÇÁ·ÎÈÀÏ ¹öÁ¯¸Å±è"°ú "º¹¼ö ¸Ó½Å °ü¸®"¿¡ Âü¿©Çϱ⠶§¹®ÀÔ´Ï´Ù.
´ÙÀ½ÀÇ Å±״ ÆÐŰÁöÀÇ »óÅ¿¡ ¿µÇâÀ» ÁÖ´Â ½Ã½ºÅÛ ±¸¼º ÈÀÏÀ» ÁöÁ¤Çϵµ·Ï ÇÕ´Ï´Ù. ´ç½ÅÀº ű׸¦ ¿©·¯¹ø ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼±ÅûçÇ×À¸·Î, °¢ ½Ã½ºÅÛ ±¸¼º ÈÀÏÀº Ű¿öµåÀÎ autoreload°¡ µû¶ó ºÙ½À´Ï´Ù.
# config: /etc/foo.conf [ autoreload ]
ÀÌ ÆÐŰÁö¿¡ °üÇÑ ¾à°£ÀÇ ÄÚ¸àÆ®¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº Âü°í¿ëÀÔ´Ï´Ù. Linuxconf´Â À̵éÀ» ÀÌ¿ëÇÏÁö ¾ÊÀ¸¸ç, ´Ù¸¥ °÷¿¡ µð½ºÇ÷¹ÀÌÇÏÁöµµ ¾Ê½À´Ï´Ù.