<?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();

最新文章

  1. After the exam
  2. 【初级】linux mv 命令详解及使用方法实战
  3. 非阻塞socket调用connect, epoll和select检查连接情况示例
  4. php curl 发送 json 数据
  5. iOS 控制屏幕旋转
  6. Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)
  7. [转载]MongoDB开发学习(1)开天辟地,经典入门
  8. Java基础知识强化31:String类之String的面试题
  9. 【转】DM8168添加DSP音频编解码算法--集成现有voice或audio codec
  10. W3Cschool学习笔记——CSS教程
  11. 用SSH解决大局域网反向端口转发问题
  12. LeetCode 110. Balanced Binary Tree (平衡二叉树)
  13. 小乌龟 git ssh配置问题解决, 没有的话执行pull push会没有权限,因为没有git的ssh
  14. Python的学习之-计算机编码和二进制
  15. IDEA 开发工具的快捷键
  16. Smarty 函数
  17. XE: Changing the default http port
  18. EF DBContext中DbSet中Hashset添加对象后,DataGrid UI没有刷新的问题
  19. 【状态压缩DP】NOIP2005-river过河
  20. db2还原离线备份文件报错SQL2071N 提示“访问共享库出现错误”解决

热门文章

  1. Servlt入门
  2. 【代码学习】PYTHON迭代器
  3. spring中@Component注解
  4. 树莓派实现SIM868 ppp拨号上网
  5. Celery异步框架
  6. 消息队列(五)--- RocketMQ-消息存储4
  7. 四级技能修炼NPC脚本参考
  8. C语言:计算并输出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5)
  9. DVWA实验之Brute Force(暴力破解)- High
  10. Nexus-配置vPC 实验二