Size: 2567
Comment:
|
← Revision 11 as of 2009-12-25 07:16:12 ⇥
Size: 2668
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
::-- ZoomQuiet [[[DateTime(2006-02-14T06:33:15Z)]]] [[TableOfContents]] |
::-- ZoomQuiet [<<DateTime(2006-02-14T06:33:15Z)>>] ##[[TableOfContents]] |
Line 9: | Line 9: |
[[Include(CPUGnav)]] | <<Include(CPUGnav)>> |
Line 12: | Line 12: |
= 思路 = * Windows 下面——不用想了,M$不会让你这么玩的………… * Uunix 下面——太太自然了,和一切服务一样!伪造成服务类的脚本来启动就好! |
|
Line 16: | Line 13: |
== Zoomq的作法 == | === Zoomq的作法 === ##startInc 思路:: * Windows 下面——不用想了,M$不会让你这么玩的………… * Uunix 下面——太太自然了,和一切服务一样!伪造成服务类的脚本来启动就好! |
Line 30: | Line 32: |
=== rcNG === | ==== rcNG ==== |
Line 32: | Line 34: |
* 进一步的 可以编写为 rcNG 脚本更加标准化的通过,参考[:SynCvs:cvsup 的RCng 脚本] * [http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/configtuning-starting-services.html FreeBSD 扩展应用程序配置] 有脚本模板 |
* 进一步的 可以编写为 rcNG 脚本更加标准化的通过,参考[[SynCvs|cvsup 的RCng 脚本]] * [[http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/configtuning-starting-services.html|FreeBSD 扩展应用程序配置]] 有脚本模板 |
Line 84: | Line 86: |
karrigell_enable = "YES" | karrigell_enable="YES" ## 特别注意BSD 中的语法约定,不能有空格,这里! |
Line 92: | Line 95: |
##endInc |
Karrigell 作为服务启动 ::-- ZoomQuiet [2006-02-14 06:33:15]
1. Zoomq的作法
- 思路
- Windows 下面——不用想了,M$不会让你这么玩的…………
- Uunix 下面——太太自然了,和一切服务一样!伪造成服务类的脚本来启动就好!
# running Karrigell as srv echo echo "running K!" cd /path/to/u/Karrigell /usr/local/bin/python Karrigell.py 2>/var/log/K.log & echo exit 0
- 标准的输出导向,就可以将Karrigell 丢到后台运行了
1.1. rcNG
利用FreeBSD 的优秀工具,可以更加标准的管理Karrigell 服务!
进一步的 可以编写为 rcNG 脚本更加标准化的通过,参考cvsup 的RCng 脚本
FreeBSD 扩展应用程序配置 有脚本模板
改进现有启动脚本:runK.sh
# running Karrigell as srv echo echo "running K!" cd /path/to/Karrigell # 使用 daemon 命令来记录运行 pid /usr/sbin/daemon -p /var/run/karrigell.pid /usr/local/bin/python Karrigell.py 2>/var/log/K.log & echo exit 0
创建 rcNG 脚本在 /usr/local/etc/rc.d 中,比如说叫:karrigell.sh
# # PROVIDE: karrigell # REQUIRE: DAEMON # KEYWORD: shutdown # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # karrigell_enable=${karrigell_enable-"YES"} karrigell_flags=${karrigell_flags-""} #karrigell_pidfile=${karrigell_pidfile-"/var/run/karrigell.pid"} # 奇怪的模板指示,两种声明方式都可以 karrigell_pidfile="/var/run/karrigell.pid" . /etc/rc.subr name="karrigell" rcvar=`set_rcvar` command="/path/to/u/runK.sh" # 因为不是直接运行的进程,所以要给 rc.subr 一点提示,声明真实运行的进程特征 procname="/usr/local/bin/python" load_rc_config $name pidfile="${karrigell_pidfile}" start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${karrigell_flags} ${command_args}" run_rc_command "$1"
最后在 /etc/rc.conf 中追加
#rc_debug="YES" #060421 rcNG Karrigell karrigell_enable="YES" ## 特别注意BSD 中的语法约定,不能有空格,这里!
唉呀呀!好也!就可以通过
#/usr/local/etc/rc.d/karrigell start #/usr/local/etc/rc.d/karrigell stop
的标准方式来进行服务管理了