强制PHP命令行脚本单进程运行的方法
网络编程 2021-07-05 09:49www.168986.cn编程入门
本文介绍了一个强制PHP在单进程中执行的函数,多用在php命令行中和一些特殊需求的地方,需要的朋友可以参考下
代码如下:
/
保证单进程
@param string $processName 进程名
@param string $pidFile 进程文件路径
@return boolean 是否继续执行当前进程
/
function singleProcess($processName, $pidFile)
{
if (file_exists($pidFile) && $fp = @fopen($pidFile,"rb"))
{
flock($fp, LOCK_SH);
$last_pid = fread($fp, filesize($pidFile));
fclose($fp);
if (!empty($last_pid))
{
$mand = exec("/bin/ps -p $last_pid -o mand=");
if ($mand == $processName)
{
return false;
}
}
}
$cur_pid = posix_getpid();
if ($fp = @fopen($pidFile, "wb"))
{
fputs($fp, $cur_pid);
ftruncate($fp, strlen($cur_pid));
fclose($fp);
return true;
}
else
{
return false;
}
}
/
获取当前进程对应的Command
@return string 命令及其参数
/
function getCurrentCommand()
{
$pid = posix_getpid();
$mand = exec("/bin/ps -p $pid -o mand=");
return $mand;
}
使用方法
代码如下:
if (singleProcess(getCurrentCommand(), 'path/to/script.pid'))
{
// code goes here
}
else
{
exit("Sorry, this script file has already been running ...\n");
}
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指