macã§daemonãåãã
ã¯ããã«
ãããã¨æã£ãã®ã¯åç´ãªãã¨ã§ãï¼æ®æ®µä½¿ã£ã¦ãmac miniã§ircdãåãããï¼å
æ¥åå ããShibuya.pm TechTalk#7ã§ircãæ´»èºãã¦ããã¨ãèªç¤¾ã§ããã¹ã£ã¦ãã¦ï¼ircã使ã£ããã¨ã®ãã人ãã»ã¨ãã©ããªããã¨ã«æ°ãã¤ããããã§ããï¼ngIRCd: Next Generation IRC Daemonããã¦ã³ãã¼ããã¦ã¤ã³ã¹ãã¼ã«ï¼ããã¾ã§ã¯ããã ã£ãã®ã§ããï¼ããã§ã¯ãã¨å°ãã¾ããï¼
/etc/rc[0-6S].dãªãã¦ãªã
macosxã¯Freebsdãã¼ã¹ï¼ãããªæ°åã§ãã¤ã使ã£ã¦ããã®ã§ããï¼osèµ·åæã®å¦çã¯initdã§ã¯ãªãlaunchdãåãã¾ãï¼ã¤ã¾ãï¼ãã¼ãæã«ã¢ããªã±ã¼ã·ã§ã³ãèµ·åãããããã«ï¼/etc/rc2.dã«èµ·åã¹ã¯ãªãããæ¾ãè¾¼ãï¼ãªã©ã¨ããæé ã使ããªãã®ã§ãï¼
失æã®è»è·¡
ã¾ããã£ã¦ã¿ãã®ã/System/Library/LaunchDaemonsã«org.ngircd.plistã¨ããååã®ãã¡ã¤ã«ãè¦ããã¿ã¾ãã§ä½ã£ã¦ã¿ããã¨ã§ããï¼launchd, launchd.plist, launchctlãªã©ã®ããã¥ã¢ã«ãè¦ãªããä½ã£ãã¿ããã®ã®ãã¾ããããæ«æãã¾ããï¼ä½ã£ã¦ããéãã§ã¯ï¼å¾æ¥inetd.confã§å¶å¾¡ãã¦ãããããªããã°ã©ã ãåããããã®è¨å®ã¨ããæ°ããããã§ãã確証ã¯æã¦ã¾ããï¼ããã§æ¹é転æãã¾ããï¼æ®æ®µdaemonã ã¨æã£ã¦ä½¿ãããã»ã¹ã®èµ·åæ¹æ³ãã©ãã«æ¸ãã¦ããã®ããæ¢ããã®ã§ãï¼
SystemStarter
/System/Library/ãã£ã¬ã¯ãããã£ã¨è¦ã¦ãã¦ï¼StartupItemsã¨ãããã£ã¬ã¯ããªãè¦ã¤ãã¾ããï¼ãã®ä¸ã«ãã£ãã®ãApacheãã£ã¬ã¯ããªï¼ããããã°ï¼launchdããã¥ã¢ã«ã®NOTESã®é ã«ãããªè¨è¿°ãããã¾ããï¼
In Darwin it is preferable to have your daemon launch via launchd instead of modifying rc or creating a SystemStarter Startup Item.
Startup Itemã¨ããã®ããã¼ã¯ã¼ãã®ãããªã®ã§ããããããèªãã§ã¿ãã¨ï¼SEE ALSOã®é ã§SystemStarter(8)ãç´¹ä»ããã¦ãã¾ãï¼ããã§ããéãã¦ã¿ãã¨ï¼ã©ããããããã§ãï¼ã§ãï¼èå¿ãªStartupItemsç¨ã®æ¸ãæ¹ãããã¾ããï¼ã§ããã£ã¦ã¿ã¦ï¼googleã§ãããã¨ãã使ãæ¹ã¯google社çã«okãããï¼Ideas - O'Reilly Mediaã¨ãããã¼ã¸ãè¦ã¤ãã¾ããï¼ãªããé©å½ã«ä½ã£ã¦ãã£ã½ãï¼ãããç§ãã£ã¦ãã¨ã§ä½ã£ã¦ã¿ã¾ããï¼
Ngirc
ããããã¯ï¼è©¦è¡é¯èª¤ã®çµæããã£ããã¨è§£èª¬ãã¾ãï¼ã¾ã/System/Library/StartupItemsé
ä¸ã«Ngircã¨ãããã£ã¬ã¯ããªãä½ãã¾ããï¼ãã³ãã¯ã¦ã¼ã¶ãã¼ã¢ã³ã ãã/Library/StartupItemsãä½ã£ã¦ãã®é
ä¸ã«ç½®ããã ãããã©ï¼åãã¦ã®çµé¨ãªãã§ãã¹ãã¾ããï¼å飼ããã«ã¦ã¼ã¶ã/System/Libraryé
ä¸ã触ããªãæ¹ãããã¨ããææãåããã®ã§ï¼/Library/StartupItemsé
ä¸ã«Ngircãã£ã¬ã¯ããªãä½æãï¼åä½ãããã¨ã確èªãã¾ããï¼ãã£ã¬ã¯ããªæ§æã¯ãããªæãã«ãªãã¾ãï¼
/Library/StartupItems/Ngirc | +-- 755 root/wheel Ngirc | +-- 644 root/wheel StartupParameters.plist æ°åã¯ã¢ã¯ã»ã¹æ¨©ã¢ã¼ãï¼rootã¯ã¦ã¼ã¶IDï¼wheelã¯ã°ã«ã¼ãID
ã§ï¼èå¿ã®äºã¤ã®ãã¡ã¤ã«ã¯ãããªæãã«ãªãã¾ããï¼
# Ngirc ## . /etc/rc.common StartService () { ConsoleMessage "Starting Ngirc" /usr/local/sbin/ngircd } StopService () { return 0; } RestartService () { return 0; } RunService "$1"
{ Description = "Ngircd IRC"; Provides = ("IRC Server"); Uses = ("Disks", "NFS"); }
ããã§mac miniãrebootããã¨ï¼ãã§ããircdãåãå§ãã¾ããï¼ãã§ãããã§ããï¼ã¡ãªã¿ã«ï¼æåã¯StopService, RestartServiceã®ã¨ã³ããªãä½ã£ã¦ããã®ã§ããï¼åãã¾ããã§ããï¼pidãã¡ã¤ã«ã/var/runé ä¸ã«åºåããããã«ããã®ã§ããï¼æ¨©éã®ãããªã®ãèµ·åæã«ã¯ä½æã§ãã¾ããï¼æåã§ngircdãroot権éã§å®è¡ããã¨ãã¡ãããã¡ã¤ã«ã¯ã§ãã¾ãï¼ããããããã§ï¼ãã®æ§æã«ãªã£ã¦ãã¾ãï¼