2395

MacOS使用brew services 和 launchctl管理服务

前言

MacOS可以使用launchctl命令管理服务,也可以使用brew services

brew services 相比 launchctl,操作更简化,更加类似 Centos 的 systemd 命令。

brew services常用命令

启动、停止服务

例如:启动nginx

brew services start nginx

例如:停止php-fpm

brew services stop php
2165

MacOS使用Brew安装PHP和PHP扩展的安装

安装PHP

直接使用brew命令安装即可

brew install php

安装指定版本

brew install php@7.2

安装PHP扩展

MacOS下使用pecl安装PHP扩展

查看pecl

pecl version
1371

PHP CLI启动多进程,并实现进程间通信

方式一:msg_get_queue实现

$key = ftok(__FILE__, 'a');
$queue = msg_get_queue($key);
$pidList = [];
$socketList = [];

for ($i = 1; $i <= 2; $i++) {
    $taskPid = pcntl_fork();
    if ($taskPid == -1) {
        die("[父进程]child{$i}创建失败");
    } elseif ($taskPid) {
        $pidList[$i] = $taskPid;
        echo "[父进程]child{$i}创建成功,子进程ID:{$taskPid}". PHP_EOL;
    } else {
        //子进程
        while (true) {
            msg_receive($queue, 1, $type, 1024, $msg);
            if ($msg) {
                echo "[子进程@child{$i}]收到消息:{$msg}";
            }
            usleep(50);
        }
    }
}

//父进程循环
while (true) {
    msg_send($queue, 1, ['from'=>'father','text'=>"Hi child,I'm father."]);
    sleep(3);
}
1759

Centos8编译安装Beanstalkd

安装编译工具

yum instlal make gcc

下载Beanstalkd源码并编译安装

进入/tmp目录,然后执行下载命令

wget https://github.com/beanstalkd/beanstalkd/archive/v1.12.zip

解压下载的文件

unzip v1.12.zip
1952

Windows10安装Centos8子系统并开启systemd

检查系统知否支持WSL2

若要更新到 WSL 2,需要 Windows 10 或 Windows 11。

  • 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。

开启Hyper-V、虚拟机平台、子系统

前提:BOIS开启了CPU虚拟化支持

打开windows设置 -> 应用和功能 -> 可选功能 -> 更多Windows功能

Hyper-V虚拟机平台适用于Linux的Windows 子系统选项全部勾上

启用适用于 Linux 的 Windows 子系统

开始菜单 -> PowerShell -> 单击右键 -> 以管理员身份运行

然后输入以下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart