PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码_php技巧

复制代码 代码如下:

$command = '/usr/bin/php /pub/www/u111/job/Crondo/auto_collector.php &';
$process = proc_open($command, array(),$pipes);
$var = proc_get_status($process);
proc_close($process);

//pid就是进程ID,至于为什么要加1,我现在也没有搞懂,经过多次的测试,发现$var['pid']得到的ID比实际的少1
$pid = intval($var['pid'])+1;

//杀死进程
proc_close(proc_open('kill -9 '.$pid, array(), $pipes));

时间: 2024-07-28 19:47:30

PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码_php技巧的相关文章

PHP运行SVN命令显示某用户的文件更新记录的代码_php技巧

复制代码 代码如下: <?php$user=trim($_GET['user']);$d=$_GET['date'];if(!$d){ $d=date('Ymd',time()-86400*14);}if(empty($user)){ echo "例如:svn_log.php?user=wang&date=20130118"; exit;} $cmd='/usr/bin/svn log -v -r {'.$d.'}:"HEAD" --username

windows下cmd命令提示符下让程序后台运行命令

windows下cmd命令提示符下让程序后台运行命令 如果你的程序需要在windows后台运行,并且是在cmd下启动,那么在执行的程序前加上start /b,比如start /b [程序名]. windows下start命令的详细参数及功能介绍如下: 启动一个单独的窗口运行指定的程序或命令. START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]      [/LOW | /NORMAL | /HIGH |

php做ios推送的服务器,后台运行的时候会推送两条信息?有代码

问题描述 php做ios推送的服务器,后台运行的时候会推送两条信息?有代码 为什么php做ios推送的服务器的时候,后台运行的时候会推送两条信息?但是手机关掉屏幕推送的时候就正常了~ 就只有后台运行的时候是两条?? 怎么改呢? 下面是代码 /** 手机推送信息类 @author:wtt */ class Push{ private $deviceToken; private $message; function __construct($deviceToken,$message){ $this-

asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法_实用技巧

本文实例讲述了asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法.分享给大家供大家参考,具体如下: 这是初级的,很简单,牛人可以不看了.不过还算实用. 在项目中经常需要处理表单,给model赋值,很烦人的一些重复代码.如下边的代码: News news = new News(); news.Id = int.Parse(Request.Form["Id"]); news.Category = int.Parse(Request.Form["Catego

php删除文件夹及其文件夹下所有文件的函数代码_php技巧

复制代码 代码如下: <? function deldir($dir) { //先删除目录下的文件: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deld

linux 在shell脚本中获取该脚本的所在绝对路径

脚本名:a.sh 位置:/tmp/whuang/study/Java 脚本内容:   Shell代码   #!/bin/sh   this_dir=`pwd`   dirname $0|grep "^/" >/dev/null   if [ $? -eq 0 ];then                   this_dir=`dirname $0`   else           dirname $0|grep "^\." >/dev/null  

linux 在shell脚本中获取该脚本的所在绝对路径2

脚本名:a.sh 位置:/tmp/whuang/study/Java 脚本内容: Shell代码   this_dir=`pwd`   file_name=`basename $0`   dirname $0|grep "^/" >/dev/null   if [ $? -eq 0 ];then       this_dir=`dirname $0`   else           dirname $0|grep "^\.\." >/dev/null 

PHP下利用header()函数设置浏览器缓存的代码_php技巧

这涉及到4种头标类型: Last-Modified(最后修改时间); Expires(有效期限); Pragma(编译指示): Cache-Control(缓存控制); 前三个头标属于HTTP1.0标准.头标Last-Modified使用UTC日期时间值.如果缓存系统发现Last-Modified值比页面缓存版本的更接 近当前时间,他就知道应该使用来自服务器的新版本. Expires 表明了缓存版本何时应该过期(格林威治标准时间).把它设置为一个以前的时间就会强制使用服务器上的页面. Pragm

php下利用curl判断远程文件是否存在的实现代码_php技巧

复制代码 代码如下: //判断远程文件 function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回数据 curl_setopt($curl, CURLOPT_NOBODY, true); // 发送请求 $result = curl_exec($curl); $found = false; // 如果请求没有发送失败 if ($result !== false) { // 再检查http响应码是否为200 $