说明: callback Worker::$onClose 当连接断开时触发的回调函数。不管连接是如何断开的,只要断开就会触发onClose。每个连接只会触发一次onClose。 注意:如果对端是由于断网或者断电等极端情况断开的连接,这时由于无法及时发送tcp的fin包给workerman,workerman就无法得知连接已经断开,也就无法及时触发onClose。这种情况需要通过应用层心跳来解决。
说明: callback Worker::$onMessage 当有客户端的连接上有数据发来时触发 回调函数的参数 $connection 连接对象,连接对象的说明见下一节 $data 客户端连接上发来的数据,如果Worker指定了协议,则$data是对应协议decode(解码)了的数据 范例 use WorkermanWorker; require_once __DIR__ . '/Worker
说明: callback Worker::$onConnect 当连接建立时触发的回调函数。每个连接只会触发一次onConnect回调。 回调函数的参数 $connection 连接对象,连接对象的说明见下一节 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Work
说明: callback Worker::$onWorkerStop 设置Workert停止时的回调函数,即当Worker收到stop信号后执行Worker::onWorkerStop指定的回调函数 回调函数的参数 $worker 即Worker对象 注意 如果业务代码发生致命错误(Fatal Error)或者进程被强行kill掉则不会触发onWorkerStop回调。 范例 use Worker
要求(workerman >= 3.2.5) 说明: callback Worker::$onWorkerReload 设置Worker收到reload信号后执行的回调。 可以利用onWorkerReload回调做很多事情,例如在不需要重启进程的情况下重新加载业务配置文件。 注意: 子进程收到reload信号默认的动作是退出重启,以便新进程重新加载业务代码完成代码更新。所以reload后子进程在执
说明: callback Worker::$onWorkerStart 设置Worker启动时的回调函数,即当Worker启动后立即执行Worker::onWorkerStart成员指定的回调函数 回调函数的参数 $worker 即Worker对象 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php';
24.6 重点回顾 其实核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块; 上述的核心模块放置于:/lib/modules/$(uname -r)/kernel/ “驱动程序开发”的工作上面来说,应该是属于硬件发展厂商的问题 一般的使用者,由于系统已经将核心编译的相当的适合一般使用者使用了,因此一般入门的使用者,基本上,不太需要编译核心 编译核心的一般目的:新功能
23.4 重点回顾 Unix Like 操作系统上面的 GUI 使用的是最初由 MIT 所开发的 X window system,在 1987 释出 X11 版,并于 1994 更改为 X11R6 ,故此 GUI 接口也被称为 X 或 X11 X window system 的 X server 最初由 XFree86 计划所开发,后来则由 Xorg 基金会所持续开发; X window syst
22.5 重点回顾 为了避免使用者自行编译的困扰,开发商自行在特定的硬件与操作系统平台上面预先编译好软件, 并将软件以特殊格式封包成文件,提供终端用户直接安装到固定的操作系统上,并提供简单的查询/安装/移除等流程。 此称为软件管理员。常见的软件管理员有 RPM 与 DPKG 两大主流。 RPM 的全名是 RedHat Package Manager,原本是由 Red Hat 公司所发展的,流传甚广
21.7 重点回顾 源代码其实大多是纯文本文件,需要通过编译器的编译动作后,才能够制作出 Linux 系统能够认识的可执行的 binary file ; 开放源代码可以加速软件的更新速度,让软件性能更快、漏洞修补更实时; 在 Linux 系统当中,最标准的 C 语言编译器为 gcc ; 在编译的过程当中,可以借由其他软件提供的函数库来使用该软件的相关机制与功能; 为了简化编译过程当中的复杂的指令输
20.7 重点回顾 网际网络 (Internet) 就是 TCP/IP ,而 IP 的取得需与 ISP 要求。一般常见的取得 IP 的方法有:(1)手动直接设置 (2)自动取得 (dhcp) (3)拨接取得 (4)cable宽带 等方式。 主机的网络设置要成功,必须要有下面的数据:(1)IP (2)Netmask (3)gateway (4)DNS 服务器 等项目; 本章新增硬件信息的收集指令有:
19.5 重点回顾 Linux 不可随意关机,否则容易造成文件系统错乱或者是其他无法开机的问题; 开机流程主要是:BIOS、MBR、Loader、kernel+initramfs、systemd 等流程 Loader 具有提供菜单、载入核心文件、转交控制权给其他 loader 等功能。 boot loader 可以安装在 MBR 或者是每个分区的 boot sector 区域中 initramfs
18.6 重点回顾 登录文件可以记录一个事件的何时、何地、何人、何事等四大信息,故系统有问题时务必查询登录文件; 系统的登录文件默认都集中放置到 /var/log/ 目录内,其中又以 messages 记录的信息最多! 登录文件记录的主要服务与程序为: systemd-journald.service, rsyslog.service, rsyslogd rsyslogd 的配置文件在 /etc/
17.6 重点回顾 早期的服务管理使用 systemV 的机制,通过 /etc/init.d/*, service, chkconfig, setup 等指令来管理服务的启动/关闭/默认启动; 从 CentOS 7.x 开始,采用 systemd 的机制,此机制最大功能为平行处理,并采单一指令管理 (systemctl),开机速度加快! systemd 将各服务定义为 unit,而 unit 又分
16.6 重点回顾 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘、光盘、软盘、磁带等),为实体文件的型态存在; 程序 (process):程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中, 操作系统并给予这个内存内的单元一个识别码 (PID),可以说,程序就是一个正在运行中的程序。 程序彼此之间是有相关性的,故有父程序与子程