Ted's Blog



使用 fswatch 文件监控,热编译,workerman更新自动重启


问题:使用workerman搭建的常驻内存框架,开发时每次代码修改都要 reload服务 很影响开发效率

方案:使用fswatch解决这个问题

什么是fswatch:

fswatch是一个跨平台的文件更改监视,获取通知警报在指定的文件或目录的内容被改变或修改


安装fswatch

Linux:

# 下载
wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz

# 解压
tar -zxvf fswatch-1.9.3.tar.gz 

# 进入目录
cd fswatch-1.9.3/

# 编译
./configure
sudo make
sudo make install

# 刷新链接并缓存到动态库
sudo ldconfig

Mac:

brew install fswatch

使用方法:fswatch 命令 参数自行百度

shell脚本:

#!/bin/bash
DIR=$1

if [ ! -n "$DIR" ] ;then
    echo "you have not choice Application directory !"
    exit
fi

echo $DIR
fswatch $DIR | while read file
do
   # 此处根据自己的需求修改 例如我只监控PHP文件
   result=$(echo $file | grep ".php$")
   if [[ $result != "" ]]
   then
       echo "${file} was modify"
       
       # 此处可以做想做的操作
       # 例如:XXX -d reload
   fi
done





分享:

评论列表

笔名  :  Ted

2021-03-24 18:36:38

有问题可以留言哦!


写评论


Contact ME

github:https://github.com/tebie6

email:liumingyuphp@163.com

友情链接

无敌我大鑫哥:http://dream128.cn