Linux使用daemontools
功能:
在使用memcached时候,怕因为一些不可预知的因素导致memcached进程死掉,而又不能及时的发现重启,可以通过daemontools来管理memcached的启动,当memcached死掉后系统会自动在5秒内重memcached;
1、安装
yum install csh
http://cr.yp.to/daemontools/daemontools-0.76.tar.gz下载
yum install gcc tcsh # gcc, csh 要求
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
tar -zxf daemontools-0.76.tar.gz
mv daemontools-0.76 /var/lib/ # 非常重要, 安装完成后不能删除: /var/lib/daemontools-0.76
chown root:root -R /var/lib/daemontools-0.76
chmod 755 /var/lib/daemontools-0.76
cd /var/lib/daemontools-0.76/ # 必须进入此目录才能编译
./package/install
sed -i '$acsh -cf \x27\/command\/svscanboot &\x27' /etc/rc.d/rc.local
最后一句命令是在 ‘/etc/rc.d/rc.local’ 文件上加上了一句:
csh -cf '/command/svscanboot &'
启用:
sh /etc/rc.local
或
systemctl start rc-local
检查服务是否启动:
ps -ef|grep svscanboot
root 13716 1 0 04:44 pts/1 00:00:00 /bin/sh /command/svscanboot
使机器重启后生效:
chmod +x /etc/rc.d/rc.local # 必须有,否则重启不能启动 svscanboot 服务
如果你的glibc库比较新,此时你很可能会遇到下面错误:
/usr/bin/ld: errno:
TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [envdir] Error 1
Copying commands into ./command...
cp: cannot stat `compile/svscan': No such file or directory
为了解决这个问题,接着上面的安装步骤继续:
cd src
wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
patch < daemontools-0.76.errno.patch
cd ..
package/install
通过ps -ef | grep svscan 来确认安装是否成功
该版本已经把脚本自动加到系统启动脚本里
/etc/inittab
开机会自动启动
2、配置
在/service下建立memcached目录
在/service/memcached新建名为run的启动脚本,如下
#!/bin/sh
exec 2>&1
exec /usr/local/bin/memcached -u root -m 30
启动服务:
svc -du /service/memcached(重启memcached进程)
svc -u /service/memcached(启动memcached进程)
svc -d /service/memcached(停止memcached进程)
最新文章
- 解决UINavigationController在pushViewController时出现的";卡顿";问题
- MyBabis 用法详解
- Android的学习第六章(布局一TableLayout)
- Android二维码功能实现,在程序内嵌入ZXing项目
- Spring的注解方式实现AOP
- C++学习基础十二——纯虚函数与抽象类
- lucene-查询query->;PhrasePrefixQuery使用短语缀搜索
- [游戏模版4] Win32 显示鼠标位置
- [div+css]网站布局实例二
- hdoj 1406 完数
- Windows Server 2012 R2中的网络诊断命令
- poj 3046 Ant Counting (DP多重背包变形)
- jsp中全局变量和局部变量的设置
- mongodb 高级操作
- vue学习:props,scope,slot,ref,is,slot,sync等知识点
- MSMQ 队列消息和死信队列
- 整合Flask中的目录结构
- Visual Studio 2017 扩展
- mysql常用优化参数
- 菜鸟对APP界面设计的一些心得小结
热门文章
- MinGW安装和使用(不是mingw-w32)
- wxWidgets谁刚开始学习指南(5)——使用wxSmith可视化设计
- STL关联式容器之map和multimap
- sklearn 下距离的度量 —— sklearn.metrics
- automapper如何全局配置map条件过滤null值空值对所有映射起效
- 扪心自问,强大的UI框架,给我们带来了什么?(作者因此写了一个GuiLite)
- wpf之自定义滚动条
- build-qt.sh(Cross compile in Linux for Windows)
- tornado+ansible+twisted+mongodb操作和维护系统开发自己主动(一个)
- 食谱API自由和开放接口-为了发展自己的健康厨房APP应用