dgr/nohup

一个用于在后台运行命令的库,它会返回进程的pid,并在另一个进程中的任何时间获取其运行状态,并且可以随时停止。它支持Windows、Linux和Mac osx。

v0.1.0 2017-04-20 06:19 UTC

This package is not auto-updated.

Last update: 2020-11-14 07:09:39 UTC


README

一个用于在后台运行命令的库,它会返回进程的pid,并在另一个进程中的任何时间获取其运行状态,并且可以随时停止。

支持以下系统

  • Windows
  • Linux
  • Mac osx

文档语言

安装

通过composer安装

composer require dgr/nohup

用法

后台运行脚本

看看,多么简单!

use dgr\nohup\Nohup;

$process = Nohup::run('sleep 5');

它将在后台运行5秒。

但是,它可以随时停止

//...
$process->stop();

现在停止了!

获取pid: $process->getPid(),它将在Windows和*inx系统上返回实际的pid

使用函数 $process->isRunning() 获取其运行状态

use dgr\nohup\Nohup;

$process = Nohup::run('sleep 5');
while ($process->isRunning()) {
    echo '.';
    sleep(1);
}
echo "Done.\n";

输出.....完成。

从已知的pid($pid)创建进程

use dgr\nohup\Process;

$process = Process::loadFromPid($pid);  
//or
$process = new Process($pid); 

if ($process->isRunning()) {
    $process->stop();
}

方法

Nohup::run($commandLine, $outputFile, $errorFile)

  • $commandLine:字符串,要运行的命令。
  • $outputFile:字符串,保存输出内容的文件路径。
  • $errlogFile:字符串,保存错误消息的文件路径。

作者

大官人