swoole 监控文件改动
2024-08-23 17:29:53
<?php /**
* 场景:
* 进程监控文件改动
*/
date_default_timezone_set('PRC'); echo '进程id:' . posix_getpid() . PHP_EOL;
cli_set_process_title('php_c1'); $filepath = __DIR__ . DIRECTORY_SEPARATOR . 'a.txt';
if (!is_file($filepath)) {
touch($filepath);
} $child = new \Swoole\Process(function (\Swoole\Process $process) use ($filepath) {
echo '子进程id:' . posix_getpid() . PHP_EOL;
cli_set_process_title('php_c1_child');
$watchMd5 = md5_file($filepath);
while (true) {
$getMd5 = md5_file($filepath);
if (strcmp($watchMd5, $getMd5) !== 0) {
echo date('[Y-m-d H:i:s] ') . $filepath . '被修改' . PHP_EOL;
$watchMd5 = $getMd5;
}
sleep(3);
}
}, true); $child->start(); while (true) {
$info = $child->read();
if ($info) {
echo $info;
}
sleep(3);
} \Swoole\Process::wait();
最新文章
- After the exam
- 【初级】linux mv 命令详解及使用方法实战
- 非阻塞socket调用connect, epoll和select检查连接情况示例
- php curl 发送 json 数据
- iOS 控制屏幕旋转
- Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
- [转载]MongoDB开发学习(1)开天辟地,经典入门
- Java基础知识强化31:String类之String的面试题
- 【转】DM8168添加DSP音频编解码算法--集成现有voice或audio codec
- W3Cschool学习笔记——CSS教程
- 用SSH解决大局域网反向端口转发问题
- LeetCode 110. Balanced Binary Tree (平衡二叉树)
- 小乌龟 git ssh配置问题解决, 没有的话执行pull push会没有权限,因为没有git的ssh
- Python的学习之-计算机编码和二进制
- IDEA 开发工具的快捷键
- Smarty 函数
- XE: Changing the default http port
- EF DBContext中DbSet中Hashset添加对象后,DataGrid UI没有刷新的问题
- 【状态压缩DP】NOIP2005-river过河
- db2还原离线备份文件报错SQL2071N 提示“访问共享库出现错误”解决
热门文章
- Servlt入门
- 【代码学习】PYTHON迭代器
- spring中@Component注解
- 树莓派实现SIM868 ppp拨号上网
- Celery异步框架
- 消息队列(五)--- RocketMQ-消息存储4
- 四级技能修炼NPC脚本参考
- C语言:计算并输出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5)
- DVWA实验之Brute Force(暴力破解)- High
- Nexus-配置vPC 实验二