普通文件的初始权限为 666(没有x) ,目录的初始权限 为777(rwx)
image.png 要进行新建扩展分区的磁盘是 /dev/sda # fdisk /dev/sda # p 打印分区表 ?...image.png 此时磁盘已经有了3个分区,如果要再弄2个分区就不行,这个时候我们进行新建扩展分区 # n 添加一个新的分区 # e 添加一个扩展分区 # p 打印分区表 ?...image.png 此时已经看见扩展分区创建完成,在扩展分区下面新建2个分区 因为现在扩展分区是20G 所以下面的2个分区都给10G # n # +10G # p ? image.png ?
扩展Linux网络栈 来自Linux内核文档。之前看过这篇文章,一直好奇,问什么一条网络流会固定在一个CPU上进行处理,本文档可以解决这个疑问。为了更好地理解本文章中的功能,将这篇文章穿插入内。...简介 本文的描述了Linux网络栈中的一组补充技术,用于增加多处理器系统的并行性和提高性能。...RSS和其他扩展技术的目的是提升性能。多队列分发技术也可以按照优先级处理流量,但这不是该技术关注的内容。...Receive Flow Steering (RFS)扩展了这一点。RFS的目的是通过将报文的处理引导到正在消耗报文的应用程序线程所在的CPU上来提高数据缓存命中率。...参考: Queues, RSS, interrupts and cores Linux Network Scaling: Receiving Packets Linux 网络协议栈收消息过程-Per CPU
一、php中pcntl_fork函数概述 pcntl_fork()函数是php中用于创建子进程的一个函数,返回创建的子进程的pid。...$curr_pid.PHP_EOL; //开始创建子进程 $son_pid = pcntl_fork();//返回子进程的id //查看当前进程 echo '创建子进程之后当前的进程为...示例代码分析: (1)发现创建了子进程之后,系统会切换到子进程中,而子进程中的代码是从含有pcntl_fork函数的那行执行的 (2)创建子进程之后,子进程的代码段是拷贝pcntl_fork函数及之后的代码段...,之前的代码段并不拷贝,但是具体的数据变量子进程仍然会拷贝 (3)可见,fork之后程序会分叉执行,即子进程执行 三、pcntl_fork的业务场景举例 php的多进程中,常用pcntl_fork来实现并发
在Linux系统中,命令行的强大功能离不开各种参数扩展(Parameter Expansion)的支持。通过对参数进行不同方式的扩展,用户可以在命令行中实现复杂的字符串处理任务。...本文将深入讲解Linux中的几种常见参数扩展方法及其应用场景,并通过实例帮助读者理解这些概念。...参数扩展通常用于处理字符串、文件路径等数据,简化脚本编写,提高效率。 二、常见的参数扩展类型 1....Hi, Linux!" 三、实际应用案例 通过以上几种参数扩展方法,我们可以在实际的脚本编写中解决许多常见问题。例如,批量重命名文件、处理路径字符串、简化用户输入等。 1....四、结论 通过对Linux参数扩展的深入了解和掌握,用户可以更高效地编写Shell脚本,处理各种复杂的字符串操作任务。
include and library are located ERROR: `/var/tmp/memcache/configure –enable-memcache-session=No' failed 安装扩展...redis 通信协议,php实现redis协议 下一篇: linux
pcntl_exec()函数 用途: 可能我们在编写php代码的时候会很少用到或者见到这个函数,但这个函数一般是用在运行脚本文件的时候才会使用,比如shell脚本,或者运行其他语言的脚本等等 概念...至于什么是解释器文件,大家可以看我之前写过的文章如何编写一个PHP解释器文件 编写代码--可执行文件 编写一个PHP程序,用来打印pcntl_exec 中的第二个参数和第三个参数 <?...我们会看到经过pcntl_exec函数,test.php 里面的代码也执行,这其实就是pcntl_exec的作用,用来执行一个程序 编写代码--解释器文件 编写一个解释器文件,并给这个文件可执行权限 #...exitId > 0) { echo "子进程退出成功,退出状态码是 ".pcntl_wexitstatus($status).PHP_EOL; } 再次执行,查看结果 ?...总结 pcntl_exec函数其实是对linux api 中 execve的封装 pcntl_fork函数是对linux api 中 clone 的封装 本文为北溟有鱼
介绍 static-php-cli 是一个用于构建静态编译的 PHP 二进制的工具,目前支持 Linux 和 macOS 系统。...OS x86_64 aarch64 macOS ⚙️ ⚙️ Linux ⚙️ ⚙️ Windows ⚙️ FreeBSD 其中,Linux 目前仅在 Ubuntu、Debian、Alpine...但由于部分扩展和特殊组件已对早期版本的 PHP 停止了支持,所以 static-php-cli 不会明确支持早期版本。我们推荐你编译尽可能新的 PHP 版本,以获得更好的体验。...目前spc二进制支持的平台有 Linux 和 macOS。...仅下载要编译的扩展及依赖库(使用扩展名,包含可选库) .
php-config 查看安装的路径 二、下载 phpredis wget https://github.com/phpredis/phpredis/archive/develop.zip 三、扩展安装.../configure -with-php-config=/usr/bin/php-config 3.编译 make make install 4.修改 php.ini 启用 redis 扩展...php --ini vim /etc/php.ini 在最后一行添加: extension=redis.so 然后保存退出,使用 php -m 命令查看已安装的扩展,有 redis 表示扩展安装成功
经过了一个半月的研究,终于将php多进程,和tcp方面研究通了,这篇文章主要讲解一下我了解到的知识点 php多进程pcntl扩展 pcntl扩展只能运行在linux环境下,该扩展可以使php使用多进程...,从而多进程操作业务等,详细内容请看:http://php.net/manual/zh/book.pcntl.php php socket扩展 socket扩展,能让php实现tcp长连接,websocket...,http,等协议,帮助大家更好的理解网络协议 详细内容请看:http://php.net/manual/zh/book.sockets.php php 消息队列 sysvmsg扩展 本站有对该扩展的说明
当你编写程序,想要屏蔽某个或多个信号的时候,那么我们就会用到PHP扩展中的pcntl_sigprocmask函数,这个函数就是用于设置信号屏蔽字的函数,第一个参数就是可以是否设置屏蔽信号字,SIG_BLOCK...$signo.PHP_EOL; } pcntl_signal(SIGINT,'sigHandler'); //要屏蔽的信号数组 $sigArray = [SIGINT,SIGUSR1]; //设置信号屏蔽字...pcntl_sigprocmask(SIG_BLOCK,$sigArray); while (1){ //调用等待信号的处理器 pcntl_signal_dispatch();...$signo.PHP_EOL; } pcntl_signal(SIGINT,'sigHandler'); //要屏蔽的信号数组 $sigArray = [SIGINT,SIGUSR1]; //设置信号屏蔽字...pcntl_sigprocmask(SIG_BLOCK,$sigArray); $i = 10 ; while ($i--){ //调用等待信号的处理器 pcntl_signal_dispatch
在终端上安装 你可以在 Linux 中执行以下命令来安装 MongoDB 的 PHP 扩展驱动 $ sudo pecl install mongodb 使用php的pecl安装命令必须保证网络连接可用以及...安装手册 如果你想通过源码来编译扩展驱动。你必须手动编译源码包,这样做的好是最新修正的 bug 包含在源码包中。...下载完你需要的二进制包后,解压压缩包,将 php_mongodb.dll 文件添加到你的PHP扩展目录中(ext)。ext 目录通常在 PHP 安装目录下的 ext 目录。...通过浏览器访问phpinfo,如果安装成功,就会看到类型以下的信息: ---- MAC 中安装 MongoDB PHP扩展驱动 你可以使用 autoconf 安装 MongoDB PHP 扩展驱动。...你可以使用 Xcode 安装 MongoDB PHP 扩展驱动。
背景 第一次研究swoole: 看官网的手册学习,并写了一个“会员通知实时短信发送”【超级简单的应用,只用了swoole1%的东西】 第二次研究: 1、原因:学习PHP的多进程-PCNTL,学完发现...2、总结: A、PCNTL和swoole的原理类似,但不同。 B、PCNTL用PHP+c实现,应用级、生产级别没有现成的封装,要自己慢慢敲。...优点:对多线程原理的理解深刻 C、swoole用纯c实现,控制的是Linux的kernel内核。最大发挥了Unix系统的高性能。...3、A多线程、B异步网络、C消息列队不同的框架设计: A、 PCNTL 的fork()+pcntl_signal + B、socket网络连接且异步实现 + C、redis消息列队 【A中:pcntl_signal...4.3是与之前截然不同的版本,需要额外安装PHP扩展:非协程特性独立扩展 (swoole_async) 安装swoole_async老是报错,所以只能放弃,选4.2version,这样就不能使用easySwoole
===本页面以下仅适用于Linux环境workerman,windows用户请忽略===Linux系统环境检测Linux系统可以使用以下脚本测试本机PHP环境是否满足WorkerMan运行要求。...(注意:检测脚本中没有检测event扩展,如果业务并发连接数大于1024必须安装event扩展,并且优化Linux内核,扩展安装方法参照下面说明)已有PHP环境安装缺失扩展安装pcntl和posix扩展...:centos系统如果php是通过yum安装的,则命令行运行 yum install php-process即可安装pcntl和posix扩展。...安装event扩展:为了能支持更大的并发连接数,必须安装event扩展,并且优化Linux内核。...mac os 系统安装教程方法1: mac系统自带PHP Cli,但是可能缺少pcntl扩展。1、参考手册附录-安装扩展一节中方法三源码编译安装pcntl扩展。
使用Topshelf 5步创建Windows 服务 这篇文章大家可以了解到使用Topshelf可以很好的支持Windows服务的开发,但是它和Mono不兼容,Github上有一个扩展https://github.com.../pruiz/Topshelf.Linux 可以很好兼容Linux/Mono,本文介绍使用方法: 1、在项目中添加Topshelf.Linux, 通过Nuget 很方便的添加引用: ?...但是要注意的是在Mono下支持命令行运行,不能使用Topshelf的命令行Start,Stop控制服务等,这对于Linux环境来说足够了,可以通过rc-scripts来完成这些工作。
在日常Linux系统管理中,存储管理是一项重要的任务。特别是在现代化的云计算环境中,需求可能随时改变,因此系统管理员需要灵活地调整存储资源。...本文将展示如何使用Logical Volume Manager (LVM)扩展Linux文件系统。 LVM简介 LVM是Linux环境中的一个强大工具,它允许我们创建和管理逻辑卷。...LVM比传统的磁盘分区方案更加灵活,可以轻松地调整、扩展和缩小存储空间。...扩展LVM逻辑卷 下面的步骤将展示如何实现上述目标: 创建物理卷:首先,我们需要使用pvcreate命令在/dev/sda3分区上创建一个物理卷: sudo pvcreate /dev/sda3 扩展卷组...总结 使用LVM,我们可以轻松地管理和扩展我们的存储空间,无需关闭系统或应用。只要遵循正确的步骤,并充分理解每个步骤的目的,你也可以成功地扩展你的文件系统,满足不断变化的存储需求。
最近需要基于linux文件系统的扩展属性,做一些自定义的操作;在这里对调研过程进行简要记录;我们常见的很多服务如glusterfs 等,都是使用文件扩展属性做一些定制化的操作; 扩展属性(xattrs)...扩展属性需要底层文件系统的支持,在使用扩展属性的时候,需要查看文件系统说明文章,看此文件系统是否支持扩展属性,以及对扩展属性命名空间等相关的支持。...xfs文件系统中,存在两个不相交的命名空间,root和user; root命名空间中的属性可以由superuser 设置,对其他用户不可见;user命名空间中的属性,受linux权限机制保护,所以文件所有者可以决定其文件的扩展属性可以被谁看到和被修改...:/usr/include/x86_64-linux-gnu/sys/ #include // 使用此头文件进行扩展属性的操作;具体的函数细节可以使用时查看相关文档; Extended.../pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/limits.h
本文章基于 pcntl 扩展做的多进程测试。...信号编号: 【源码基于 SIGINT,SIGTERM,SIGUSR1 信号,含义请自行查看 kill 命令手册,不在描述】 linux 支持 64 个,有一半为实时信号,一半为非时实信号,这些信号都有自己的编号和对应的整数值...每个信号的编号含义读者可以参阅 linux 相关手册【man 手册看看就知道了】 信号处理函数: 信号一般会绑定相应的功能,有的是默认动作如 SIGKILL,SIGTERM,SIGINT 操作默认操作就是干掉进程...,当然我们可以重写覆盖掉,就是通过 pcntl_signal 来覆盖掉。...文件描述权限掩码【权限屏蔽字】: umask () 你可以在 linux 运行这个命令,然后创建文件,并查看它的权限【如果你跑完啥也没有发现,说明你还是训练不够 ^_^】 <?
磁盘分区 linux也与windows一样,为了使用全部的磁盘空间,需要先对磁盘分区;如果所有分区的总容量小于磁盘容量,说明磁盘还有未分配空间,这个时候会对磁盘造成浪费。...文件系统 当将未分配的空间追加到新的分区/dev/sda2后,还需要创建物理卷以及扩展。...pvcreate /dev/sda2 vgscan vgextend cl /dev/sda3 lvextend -L +100G 加上要扩展的分区名 接着用 dh –f,发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统...xfs_growfs 加上要扩展的分区名或者 resize2fs – f 加上要扩展的分区名。 再次查询,发现文件系统空间变大了。
这部分是快速学习的最后一部分知识,其中最重要的内容就是源码的打包和软件的安装的学习,由于个人的Linux学习目的就是自己能在阿里云Ubuntu上搭建一个简单的nodejs发布环境。...由于现在均是使用云平台,这部分内容已完全透明,因而只做一个简单的了解,整个linux的启动过程包含如下8个步骤: 1.加载BIOS的硬件信息与进行自我检测,并依据设置取得第一个可启动的设备。...在linux世界中,最吸引人的莫过于开源代码了,比如Linux上最标准的程序语言C,我们使用C语法进行源代码飙血,写完后使用gcc进行编译,就可以制作一个可以执行的二进制文件。...Linux中,备份通常都是首先建立完整备份,然后据此进行增量或差异差异备份。...鸟哥的Linux私房菜基础学习篇(第三版)[M]. 北京:人民邮电出版社, 2010.
领取专属 10元无门槛券
手把手带您无忧上云