文档章节

PHP后台运行命令并管理运行程序

c
 colin_86
发布于 07/20 00:13
字数 192
阅读 7
收藏 0
PHP

 php后台运行命令并管理后台运行程序

class ProcessModel{
    private $pid;
    private $command;
    private $resultToFile = '';

    public function __construct($cl=false){
        if ($cl != false){
            $this->command = $cl;
        }
    }
    
    public function runCom($cl=false){
        if($cl) {
            $this->resultToFile = md5($cl);
            $this->command = $cl;
            $command = 'nohup '.$cl.' 1>/tmp/'.$this->resultToFile.'_http_proess.txt & echo $! 2>&1';
            exec($command ,$op);
            $this->pid = (int)$op[0];
            return $this->pid;
        }else{
            return 0;
        }
    }

    public function setPid($pid){
        $this->pid = $pid;
    }

    public function getPid(){
        return $this->pid;
    }
    
    public function getContent() {
        $command = 'cat /tmp/'.md5($this->command).'_http_proess.txt';
        exec($command ,$op);
        if(is_array($op)) {
            $op = implode("\n", $op);
        }
        
        return $op;
    }

    public function isRuning(){
        $command = 'ps -p '.$this->pid;
        exec($command,$op);
        if (!isset($op[1])) {
            return false;
        }else{
            return true;
        }
    }

    public function stop(){
        $command = 'kill '.$this->pid;
        exec($command);
        if ($this->status() == false){
            return true;
        }else{
            return false;
        }
    }
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: yii2 layout
c
粉丝 3
博文 166
码字总数 24500
作品 0
成都
高级程序员
私信 提问
Shell jobs 任务管理

在一个 tty 里,我们可以运行多个任务,并切换激活不同的任务到前台。注意,任务管理仅限于同一个 tty 执行的任务。 状态 Running 运行中 Stopped 已暂停 Done 执行完毕 & 在一个命令后添加 ...

傅易
2016/11/20
106
0
Solaris系统中将进程转入后台运行的方法

Solaris系统中将进程转入后台运行的方法 问题描述: 在solaris系统中将进程转入后台运行 解决方法: 在solaris中将进程转入后台运行分两种情况,一种是进程尚未运行,在初始运行进程时就转入...

Adairs
2016/03/10
11
0
使用nohup让程序在远程主机后台运行

因为我购买的一个国外主机居然开放了Telnet权限,因此我也使用Telnet登录上去玩玩Linux,但发现一关闭窗口就自动和主机断开了,和Windows的终端不一样,所以就上网找啊找,找到了一个从后台一...

laymanxia
2015/06/28
0
0
Linux下使Shell 命令脱离终端在后台运行

你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前...

WolfX
2016/04/08
143
0
Linux系统之守护进程和计划任务

程序和进程的关系 *程序 ·保存在硬盘、光盘等介质中可执行代码和数据 ·静态保存的代码 *进程 ·在cpu及内存中运行的程序代码 ·动态执行的代码 ·父、子进程 >每个进程可创建以个或者多个进...

SunnyDay丶
2017/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

stylus

stylus基础教程,stylus实例教程,stylus语法总结

miaojiangmin
32分钟前
3
0
PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
今天
2
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
今天
8
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
5
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部