PHP脚本设置及获取进程名
今天来学习的是两个非常简单的函数,一个可以用来设置我们执行脚本时运行的进程名。而另一个就是简单的获取当前运行的进程名。这两个函数对于大量的脚本运行代码有很大的作用,比如我们需要 kill 掉某个进程时,可以直接使用我们自己定义的进程名来进行操作。
设置进程名
cli_set_process_title("test");
非常简单吧,只有一个参数,那就是要定义的变量名称。在运行起来后,我们使用 sleep() 让程序挂载一段时间,然后再开一个终端来查看当前的进程信息。
ps -ef | grep test
# root 32172 31511 0 09:03 pts/0 00:00:00 test
top -p 32172 -c
# 32198 root 20 0 113100 18052 13088 S 0.0 0.2 0:00.00 test
可以看到,不管是使用 ps 还是使用 top ,都可以看到相应的进程名称为 test 的进程。这样,就完成了进程名称的自定义。
获取进程名
echo "Process title: " . cli_get_process_title() . "\n";
// Process title: test
同样的,获取当前进程名的函数也非常地简单,直接调用即可。它就会正常输出当前执行脚本的进程名称。
如果我们没有自定义进程名称呢?这里就不会有任何的输出,大家可以自己尝试一下。
注意事项
最后来说说这两个函数的注意事项。
一是如果使用的是 Mac OS 系统,会提示:
// Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly
也就是说这两个函数在 Mac 下面是无法正常使用的,我的测试环境是 CentOS ,是可以正常使用的。Windows 环境没有进行测试,正常情况下也很少会有人在 Windows 环境下挂后台执行脚本,所以有兴趣的同学可以自己测试下。
二是进程名可以是中文!!!是不是感觉很高大上。
三是这两个函数仅针对 CLI 运行环境。也就是说,在 CGI 正常网页运行的状态下这两个函数是没有效果的。
测试代码:
参考文档:
https://www.php.net/manual/zh/function.cli-set-process-title.php
https://www.php.net/manual/zh/function.cli-get-process-title.php
PHP脚本设置及获取进程名的更多相关文章
- set_include_path — 设置 include_path 配置选项为当前脚本设置 include_path 运行时的配置选项。
说明 string set_include_path ( string $new_include_path ) 为当前脚本设置 include_path 运行时的配置选项. 参数 new_includ ...
- windows脚本设置网络IP地址
需求描述 不通的网络环境下,可能需要设置静态IP地址,或设置为动态获取,每次重复手动的配置费时费力,通过脚本可以实现一键设置 脚本实现 1.设置静态IP 1.1新建文本文档,复制粘贴如下内容 nets ...
- js设置、获取单值cookie和多值cookie
js设置.获取单值cookie和多值cookie,代码如下: var CookieUtil = (function () { var Cookie = function () { // 获取单值coo ...
- 设置与获取Cookie
自己编写的一个Cookie设置与获取函数,大家有什么感觉需要改进的地方,请告知与我,我一定虚心接受. JavaScript - Code: function setCookie(name,value, ...
- php设置和获取cookie
php设置和获取cookie setcookie()调用只带有name参数的setcookie(); ()使失效时间为time()或time-; <?php setcookie(); PHP提供 ...
- Unity3D研究院编辑器之脚本设置ToolBar
Unity版本5.3.2 如下图所示,ToolBar就是Unity顶部的那一横条.这里的所有按钮一般情况下都得我们手动的用鼠标去点击.这篇文章我们说说如果自动操作它们 1.自动点击左边四个按钮 (拖动 ...
- js设置与获取Cookie
/*设置与获取Cookie*/ var Cookie ={} Cookie.write = function(key, value, duration){ var d = new Date(); d. ...
- JSP 禁用脚本设置
JSP 禁用脚本设置: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xm ...
- C#设置和获取系统环境变量
C#设置和获取环境变量 1.前言 本来想拿学校机房的Android编辑器直接粘到自己电脑上用,发现它的eclipse是 32位的,而我的JDK是64位的,于是想到干脆装两个JDK,用C#做一个能够更改 ...
随机推荐
- Linux 内核预备知识:浅析 offsetof 宏以及新手的所思所想
最近一头扎进了 Linux 内核的学习中,对于我这样一个没什么 C 语言基础的新生代 Java 农民工来说实在太痛苦了.Linux 内核的学习,需要的基础知识太多太多了:C 语言.汇编语言.数据结构与 ...
- MySQL-08-索引简介
B树 基于不同的查找算法分类介绍 B*Tree B-tree B+Tree 在范围查询方面提供了更好的性能(> < >= <= like) 索引简介 索引作用 提供了类似于书中 ...
- Django ORM多表查询
基于双下划线查询 根据存的时候,字段的数据格式衍生的查询方法 1.年龄大于35岁 res = models.AuthorDetails.objects.filter(age__lt=80) print ...
- 题解 P4111 [HEOI2015]小 Z 的房间
题解 题目大意:给定一个无向图,求它的生成树个数. 一道裸的矩阵树定理,外加一些建图的技巧. 矩阵树定理 对于一个 \(Laplace\) 矩阵,其去掉任意一行后的行列式即为答案. 行列式不会的看这里 ...
- 十九:JDBC操作事务
二.MySQL数据库中操作事务命令 2.1.开启事务(start transaction) 使用"start transaction"开启MySQL数据库的事务,如下所示:
- 10.SpringMVC之格式化、校验
数据格式化 数据格式化的注解: 数据校验JSR303 Hibernate Validator扩展注解 启动 springMVC数据校验 转换.格式化.校验出错处理:
- JAVA中直接用Jdbc就能操作数据库了,为什么还要用spring框架?
不过随着业务的扩展,你就会发现jdbc建立一个连接居然要几百毫秒,而执行一个普通的SQL仅仅需要几毫秒. 这么重量级的资源建立了就释放了不合适,得找个容器存起来,谁要就来取,不用了就还给容器,毕竟容器 ...
- mac下用clion进行sdl2游戏开发de环境搭建
1. 故事背景 想从unity转unreal了,于是要使用c++进行开发.unreal引擎那么大,每次打开,我的小本都嗡嗡嗡的,想着不如用个轻量一些的引擎先开发吧,核心代码独立出来,到时候如果真要移植 ...
- RabbitMq安装(单点与集群)rabbitMq以及状态查询
集群进入某个节点查看指令:rabbitmqctl cluster_status单机版:docker run -d --name rabbit \-e RABBITMQ_DEFAULT_USER=adm ...
- 阿里云服务器上部署java项目(安装jdk,tomcat)
安装JDK a.执行下面的yum指令安装,无线配置环境变量. 1.yum -y update #首先更新一下YUM源2.yum list Java* ---------#列出所有的JDK 3.yum ...