php 设置sessionid生成机制(PHP Cli 模式设置进程名称的方法)
php 设置sessionid生成机制
PHP Cli 模式设置进程名称的方法最近一直在优化自己的 PHP 多进程管理工具。GitHub 地址: https://github.com/fingerQin/phpthread
通过命令启动之后,它在系统后台运行的名称如下:
[root@localhost logs]# ps -ef|grep "Event/register"
root 1358 1356 0 19:50 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1482 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1483 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1484 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1486 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1487 1358 0 19:55 ? 00:00:00 /usr/local/php72/bin/php cli.php Event/register
root 1499 1240 0 19:56 pts/1 00:00:00 grep --color=auto Event/register
大家可以看到。它会把我们执行 PHP 脚本的整个命令路径全部显示出来。没办法伪装成一个特殊的名称,或者说优雅的名称。
查阅相关资料。其实 PHP 早已经支持这种操作。
一、proctitle 扩展实现
在 PHP 5.5.0 版本之前,只能通过 proctitle 扩展实现。下载地址: http://pecl.php.net/package/proctitle
关于安装这种 PHP C 扩展。这里就不展示说明。关于 PHP C 扩展的教程很多。
proctitle 扩展安装好之后。通过该扩展提供的 setproctitle 方法实现自定义进程名称。
process.php
|
<?php setproctitle( "NewProcess" ); sleep(30); |
此时我们命令运行脚本:
$php process.php
脚本会睡眠 30 秒。此时我们另开一个终端去查看该进程的名称。会发现该扩展名称已经被修改为:"NewProcess"。
由于该扩展已经 7 年未更新。所以,不推荐使用。
二、cli_set_process_title 方法实现
从 PHP 5.5.0 开始,PHP 已经内置了 cli_set_process_title 方法来解决这个重置进程名称的函数。我只能说,太贴心了。
使用也简单。
process2.php
|
<?php cli_set_process_title( "NewProcess" ); sleep(30); |
执行该脚本之后,咱们依然别启一个命令终端查看:
[root@localhost public]# ps -ef|grep NewProcess
root 10489 1240 0 09:49 pts/1 00:00:00 NewProcess
root 10496 1221 0 09:50 pts/0 00:00:00 grep --color=auto NewProcess
我们可以看到。已经生效了。
它就是如此简单。以后我们可以将该进程名称优雅化。也可以以此来伪装隐藏自己。总之,你可以用这个神奇的名字干你想干的事情。
总结
以上所述是小编给大家介绍的PHP Cli 模式设置进程名称的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.phpjieshuo.com/archives/138
- php单例设计方法(php设计模式之单例模式用法经典示例分析)
- php服务号openid(php获取微信openid方法总结)
- thinkphp框架实例(ThinkPHP框架整合微信支付之JSAPI模式图文详解)
- php提供哪些函数来避免sql的注入(PHP与SQL语句写一句话木马总结)
- php安全性问题怎么解决(实例分析10个PHP常见安全问题)
- phpstudy配置教程(phpStudy2018安装教程及本地服务器的配置方法)
- thinkphp5怎么设置当前的模块(thinkPHP5.1框架中Request类四种调用方式示例)
- php全栈之路教程(PHP进阶学习之依赖注入与Ioc容器详解)
- phpmysql网站开发入门与提高(PHP+MySQL+sphinx+scws实现全文检索功能详解)
- phpstudy数据库搭建教程交流(phpStudy V8如何修改数据库root密码)
- php返回数组值最大的键(PHP实现通过二维数组键值获取一维键名操作示例)
- phpredis怎么实现任务(PHP swoole和redis异步任务实现方法分析)
- php怎么设置curl(php curl发送请求实例方法)
- php生成json信息(php使用json-schema模块实现json校验示例)
- apache配置详解(apache2.2和php5.2.17在windows下整合过程的错误解决方法)
- thinkphp5框架怎么打开(thinkphp5.1框架模板布局与模板继承用法分析)
- 华为 Watch GT2 Pro 智能手表曝光,新增支持无线充电(华为WatchGT2)
- vivo首款智能手表来了 也有血氧饱和度监测,一次充电18天续航(vivo首款智能手表来了)
- 你知道 七夕 的真正含义吗(你知道七夕的真正含义吗)
- 七夕的寓意(七夕的寓意)
- 苏志燮赵恩静结婚,韩国四大公共财产变三人,这么快就有替补了(苏志燮赵恩静结婚)
- 《内在美》后,一大波新韩剧来袭,李钟硕朴信惠宋慧乔玄彬回归(一大波新韩剧来袭)
热门推荐
- Python实现FTP弱口令扫描器的方法示例(Python实现FTP弱口令扫描器的方法示例)
- textarea 高度自适应
- vue移动端返回在指定位置(vue移动端判断手指在屏幕滑动方向)
- css中background image重复平铺(解决CSS 中box-sizing与background-clip解决背景显示范围的问题)
- mysql8.0.23.0官方安装手册(MySQL8.0.23安装超详细教程)
- SQL SERVER中根据身份证号获取出生日期
- sqlserver常用基本数据类型有哪些(浅述SQL Server的语句类别 数据库范式 系统数据库组成)
- vmware能安装macos吗(VMware15/16解锁VMware安装MacOS的步骤详解)
- python json转换字符串(python3 json数据格式的转换dumps/loads的使用、dict to str/str to dict、json字符串/字典)
- thinkphp框架切换数据库(ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9