如何将我的php脚本以守护进程的方式一直运行?
写好php脚本。建议定期检测内存占用,核心逻辑就不写了。这个跟业务有关。 if(memory_get_usage()>100*1024*1024){ exit(0);//大于100M内存退出程序,防止内存泄漏被系统杀死导致任务终端 } 假设该php文件的路径为/root/
run.php
打开终端 setsid php /root/run.php
> /dev/null & 编辑进程监控脚本,当进程不存在时,自动重启 /root/monitor.sh
#!/bin/bash alive=`ps aux|grep root\/run|grep -v grep|wc -l` if [ $alive -eq 0] then php /root/run.php
> /dev/null & fi 添加计划任务(每分钟检测一次) crontab -e * * * * * /root/monitor.sh
> /dev/null &Red Hat Enterprise Linux 8更新了哪些内容?
视频加载中...
作为面向云环境和企业IT的强大企业级Linux系统,Red Hat Enterprise Linux 8正式版于今天正式发布。在RHEL 7系列发布将近5年之后,RHEL 8在优化诸多核心组件的同时引入了诸多强大的新功能,从而让用户轻松驾驭各种环境以及支持各种工作负载。
Red Hat表示:“RHEL 8是为混合云时代重新设计的操作系统,旨在支持从企业数据中心到多个公共云的工作负载和运作。从Linux容器、混合云到DevOps、人工智能,RHEL 8不仅在混合云中支持企业IT,还可以帮助这些新技术战略蓬勃发展。”
RHEL 8为混合云时代的到来引入了大量新功能,包括用于配置、管理、修复和配置RHEL 8的Red Hat Smart Management扩展程序,以及包含快速迁移框架、编程语言额和诸多开发者工具在内的Application Streams。
RHEL 8同时对管理员和管理区域进行了改善的,让系统管理员、Windows管理员更容易访问,此外通过Red Hat Enterprise Linux System Roles让Linux初学者更快自动化执行复杂任务,以及通过RHEL Web控制台用于管理和监控Red Hat Enterprise Linux系统的运行状况。
在安全方面,RHEL 8内置了对OpenSSL 1.1.1和TLS 1.3加密标准的支持。它还为Red Hat容器工具包提供全面支持,用于创建,运行和共享容器化应用程序,改进对ARM和POWER架构的支持,SAP解决方案和实时应用程序,以及对Red Hat混合云基础架构的支持。
Red Hat Enterprise Linux 8的新功能和新特性介绍
1、内核和支持CPU架构
Red Hat Enterprise Linux 8.0基于Fedora 28和上游Linux内核4.18版本,为用户提供了跨混合云和数据中心部署的安全,稳定和一致的基础,以及支持所有级别工作负载所需的工具。
支持的CPU架构是:
1]、AMD和Intel 64位架构
2]、64位ARM架构
3]、IBM Power Systems,Little Endian
4]、IBM Z
2、内容分发
Red Hat Enterprise Linux 8有两种内容分发模式,只需要启用两个存储库。
1]、BaseOS存储库 - BaseOS存储库以传统RPM包的形式提供底层核心OS内容,BaseOS组件的生命周期与之前的Red Hat Enterprise Linux版本中的内容相同。
2]、AppStream存储库 - Application Stream存储库提供您可能希望在给定用户空间中运行的所有应用程序,具有特殊许可的其他软件可在Supplemental存储库中获得。
附:AppStream的解释
AppStream允许您在独立的生命周期中安装其他版本的软件,并使您的操作系统保持最新,同时拥有适合您的用例的正确版本的应用程序,请注意,不能同时将两个流安装到同一用户空间中。
应用程序流通常根据其分发的软件版本命名,例如mongodb:3.4或mongodb:3.6,但也可以使用“latest”,“stable”和“latest”等名称。
3、桌面环境
RHEL默认桌面环境是GNOME,GNOME项目由GNOME Foundation支持,RHEL 8中提供的Gnome版本是3.28版本,它可以自动下载Boxes中的操作系统,其他新功能包括:
1]、新的屏幕键盘
2]、新的GNOME Boxes功能
3]、扩展设备支持Thunderbolt 3接口的最显着集成
4]、GNOME软件,dconf编辑器和GNOME终端的改进
5]、GNOME软件实用程序,可用于安装和更新应用程序和gnome-shell扩展
6]、GNOME显示管理器(GDM)使用Wayland作为其默认显示服务器,而不是X.org服务器
附:Wayland显示服务器的特点
1]、更强大的安全模型
2]、改进了多显示器处理
3]、改进的用户界面(UI)缩放
4]、桌面可以直接控制窗口处理
4、软件管理
RHEL 8 YUM软件包管理器现在基于DNF技术,参考dnf命令_Linux dnf命令使用详解:新一代的RPM软件包管理器,它提供对模块化内容的支持,提高的性能以及与工具集成的精心设计的稳定API,RPM的版本是4.14.2,它在开始安装之前验证整个包的内容。
RHEL 8中提供的YUM版本是v4.0.4,基于DNF的YUM与RHEL 7上使用的先前YUM v3相比具有以下优势:
1]、提高性能
2]、支持模块化内容
3]、精心设计的稳定API,可与工具集成
5、Web服务器、Web工具、编译器、语言和数据库
红帽企业版Linux 8包括多个版本的数据库、语言、编译器和其他可供您使用的工具的应用程序,以下是Red Hat Enterprise Linux 8上可用的组件列表:
1]、Python:RHEL 8中的默认Python是Python 3.6版本
2]、数据库服务器:RHEL 8提供的数据库有:MariaDB 10.3、MySQL 8.0、PostgreSQL 9.6、PostgreSQL 10
3]、Redis:可用的redis版本是4.0
4]、Web服务器:httpd 2.4和Nginx 1.14
5]、OpenLDAP由369 LDAP Server取代
6]、Varnish Cache 6.0
7]、Git 2.17
8]、Maven 3.5
9]、Perl 5.26和5.24
10]、PHP 7.2和7.1
11]、Ruby 2.5
12]、Node.js 10和8
13]、Python 3.6和2.7
14]、Rust Toolset 1.26
15]、Scala 2.10
16]、Go Toolset 1.10
17]、GCC编译器8.1
18]、.NET Core 2.1
19]、Java 8和11
20]、Pacemaker集群资源管理器2.0.0,pcs配置系统完全支持Corosync 3,knet和node名称
21]、glibc库基于2.28版
注:要安装更多RHEL 8下的应用软件,请看Red Hat/RHEL系统技术专栏。
6、联网
以下是网络级别的新变化:
1]、RHEL 8与TCP网络堆栈版本4.16一起发布,提供更高的性能,更好的可扩展性和更高的稳定性
2]、网络堆栈升级到上游版本4.18
3]、Iptables已被nftablesframework取代为默认的网络数据包过滤工具
4]、nftables框架是iptablesip6tables、arptables和ebtables工具的指定继承者,这为IPv4和IPv6协议提供了单一框架
5]、firewalld守护程序现在使用nftables作为其默认后端
6]、支持IPVLAN虚拟网络驱动程序,支持多个容器的网络连接
7]、NetworkManager现在支持单根I/O虚拟化(SR-IOV)虚拟功能(VF),NetworkManager允许配置VF的某些属性,例如MAC地址、VLAN、允许的比特率
7、虚拟化
1]、Red Hat Enterprise Linux 8与qemu-kvm 2.12一起发布 - 支持Q35客户机类型,UEFI客户机启动支持,vCPU热插拔和热插拔,NUMA调优和客户I/O线程中的固定
2]、QEMU仿真器引入了沙盒功能,QEMU沙盒为QEMU可以执行的系统调用提供了可配置的限制,从而使虚拟机更加安全
3]、KVM虚拟化现在支持用户模式指令防护(UMIP)功能,该功能有助于防止用户空间应用程序访问系统范围的设置
4]、KVM虚拟化现在支持5级分页功能,这显着增加了主机和客户机系统可以使用的物理和虚拟地址空间
5]、NVIDIA vGPU现在与VNC控制台兼容
6]、在Red Hat支持的所有CPU架构上,KVM虚拟化支持Ceph存储
7]、Q35,RHEL 8 Virtualization支持更现代的基于PCI Express的机器类型,默认情况下,在RHEL 8中创建的所有虚拟机都设置为使用Q35 PC机器类型
8、网络管理– Cockpit
1]、RHEL 8自动安装了Cockpit,Cockpit所需的防火墙端口会自动打开
2]、Cockpit界面可用于将基于策略的解密(PBD)规则应用于受管系统上的磁盘
3]、对于在身份管理(IdM)域中注册的系统,Cockpit默认使用域的集中管理的IdM资源
4]、Cockpit菜单和页面可以在移动浏览器变体上导航
5]、可以从Cockpit Web界面创建和管理虚拟机
6]、现在可以将“虚拟机”页面添加到Cockpit界面,该界面使用户可以创建和管理基于libvirt的虚拟机
9、系统用户
RHEL 7中可用的usernfsnobody已经与usernobody合并到nobody用户和组对,其UID和GID为65534,这种更改减少了对任何人拥有但与NFS无关的文件的混淆。
10、安全
RHEL 8支持OpenSSL 1.1.1和TLS 1.3,这使您能够使用最新的加密保护标准保护客户的数据。
RHEL 8自带了系统范围的加密策略,可帮助您管理加密合规性,无需修改和调整特定应用程序。
OpenSSH已经改为版本7.8p1,不支持SSH版本1协议,Blowfish/CAST/RC4密码,hmac-ripemd160消息认证码。
安全方面请参考在RHEL 8/CentOS 8系统中禁用SELinux的方法。
10、Linux containers
RHEL 8通过基于开放标准的容器工具包为Linux容器提供企业支持:
1]、Buildah有助于构建OCI图像
2]、Skopeo用于在Docker注册表,Atomic注册表,私有注册表,本地目录和本地OCI布局目录上共享/查找容器映像
3]、Podman用于运行容器而无需守护进程
注:Buildah和Podman都是用于OCI图像和容器的命令行工具,下面附上Buildah与Podman的不同之处介绍。
Buildah的命令复制Dockerfile中的所有命令,实际上只是创建了Buildah容器,以允许将内容添加回容器映像。
Podman专注于帮助您维护和修改OCI images的所有命令和功能,例如拉动和标记,它还允许您创建,运行和维护从这些images创建的容器。
11、存储和文件系统
Stratis是RHEL 8的新本地存储管理器,它在存储池之上提供托管文件系统,并为用户提供附加功能,Stratis通过集成Linux的devicemapper子系统和XFS文件系统来提供ZFS/Btrfs风格的功能。
Stratis支持LUKSv2磁盘加密和网络绑定磁盘加密(NBDE),以实现更强大的数据安全性。
使用Stratis,您可以轻松执行存储任务,例如:
1]、维护文件系统
2]、管理快照和精简配置
3]、根据需要自动增大文件系统大小
Pools是从一个或多个存储设备创建的,而卷是从pool创建的,文件系统是在卷上创建的,因此调整卷的大小也会自动调整FS的大小,Stratis使用的默认文件系统是XFS。
其他值得注意的存储功能包括:
1]、XFS文件系统现在支持共享的写时复制数据扩展功能,这使两个或多个文件能够共享一组公共数据块,创建共享副本不会使用磁盘I/O,也不会占用额外的磁盘空间,共享公共块的文件就像常规文件一样
2]、在创建XFS文件系统时,默认情况下会启用共享的写时复制数据扩展区,从xfsprogs软件包版本4.17.0-2.el8开始
3]、在RHEL 8支持的所有体系结构上支持虚拟数据优化器(VDO)
4]、LUKS2现在是加密卷的默认格式,这取代了RHEL 7中分发的旧版LUKS(LUKS1)格式,如果遇到部分元数据损坏,LUKS2会为加密卷提供元数据自动恢复和冗余