Linux daemontools的使用

1、安装
mac:
curl -o daemontools-0.76.tar.gz http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
centos:
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
sudo package/install

sudo是因为,install脚本会在根目录/下创建两个目录:/service和/command目录。其中/service目录用来存放被daemontools管理的进程,注意在/service目录下存放的只能是连接。/command命令下存放的是daemontools的一些常用命令。

2、启动
启动daemontools工具:
/command/svscanboot &
&后台运行
这时看下svs(supervise)的运行情况:

ps -ef | grep svs
可以看到两个相关进程:
/bin/sh /command/svscanboot
和svscan /service

可以看到svscan作为svscanboot的子进程在运行。而且svscan监听的目录是/service目录。

3、常用工具
daemontools中包含的常用的有以下5个:
(1)svscanboot
这个命令一般不用手动输入执行,因为这个一般会随Linux系统的启动而自动启动。看下/etc/rc.local就可以直到它会随Linux的启动而启动。svscanboot启动之后会启动svscan,svscan会启动supervise,supervise会启动并监听/service中存放服务目录下的run可执行文件。

(2)svscan
svscan会为/service目录下所有服务启动supervise进程。svscan会为每个服务启动一对supervise服务:一个s子目录(即服务进程的工程目录),其实是个软连接;一个是s子目录下的log目录(如果有的话)。supervise会执行s子目录下的run脚本,并监听run脚本启动的进程,同时会启动s/log目录下的run脚本。这个s/log目录下的run脚本用来输出s目录run脚本的日志到指定目录。svscan每隔5s检查下/service目录,如果有新的服务,则启动新的supervise;如果有supervise意外退出会重新启动supervise。
(3)supervise
supervise用来执行/service目录下服务的run脚本。如果run脚本退出的话,会每隔几秒执行一下。在/service下的服务目录s下会有一个supervise目录用来存放进程状态的二进制格式信息。svstate就会读取这个状态信息。

(4)svc命令
svc opts services
opts是一系列的参数,services是指/service下的服务目录。opts参数如下:
-u : up, 如果services没有运行的话,启动它,如果services停止了,重启它。
-d : down, 如果services正在运行的话,给它发送一个TERM(terminate)信号,然后再发送一个CONT(continue)信号,在它停止后,不再启动它。
-o : once, 如果services没有运行,启动它,但是在它停止后不再启动了。就是只运行一次。
-p : pause, 给services发送一个停止信号。
-c : continue, 给services发送一个CONT信号。
-h : hang up, 给services发送一个HUP信号。
-a : alarm, 给services发送一个ALRM信号。
-i : interrupt, 给services发送一个INT信号。
-t : Terminate, 给services发送一个TERM信号。
-k : kill, 给services发送一个KILL信号。

关掉一个服务进程通常使用-dk参数,此时supervise进程并没有关闭,所以依然可以将这个服务进程重启。即使,supervice进程挂掉了,svscan依然会重启supervise,supervise会重新运行服务进程的run脚本。

(5)svstat
查看服务的状态
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在Linux上配置KVM: 1. 检查虚拟化支持:首先,确保你的CPU支持硬件虚拟化扩展,如Intel的VT-x或AMD的AMD-V。你可以使用以下命令来检查: ``` egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果输出结果为非零值,则表示你的CPU支持虚拟化。如果输出为0,则表示你的CPU不支持。 2. 安装KVM软件包:使用适合你Linux发行版的包管理器安装KVM软件包。在大多数基于Debian的发行版上,可以使用以下命令安装: ``` sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils ``` 在基于Red Hat的发行版上,可以使用以下命令安装: ``` sudo yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install ``` 3. 启用并加载内核模块:确保KVM内核模块已启用并加载。可以使用以下命令加载内核模块: ``` sudo modprobe kvm ``` 4. 配置网络桥接:如果你计划在虚拟机中使用网络连接,你需要配置网络桥接。编辑 `/etc/network/interfaces` 文件(或相关的配置文件),添加类似以下内容的配置: ``` auto br0 iface br0 inet dhcp bridge_ports eth0 ``` 这将创建一个名为`br0`的网络桥接,将物理接口`eth0`与之关联。 5. 添加用户到KVM组(可选):为了允许普通用户管理KVM虚拟机,你可以将用户添加到`kvm`用户组。使用以下命令将当前用户添加到`kvm`组: ``` sudo adduser <username> kvm ``` 请将`<username>`替换为你要添加的用户名。 6. 重新启动服务:完成以上配置后,重新启动相关服务以使其生效。使用以下命令重启服务: ``` sudo systemctl restart libvirtd ``` 配置完毕后,你可以使用KVM进行虚拟机的创建和管理。你可以使用`virt-manager`图形界面工具或使用`virsh`命令行工具来管理KVM虚拟机。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值