dgr/nohup

A library to run a command in the background, it will return the process's pid, and get it's is running status anytime in the another process, and can be stoped anytime. It support Windows, Linux and 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

A library to run a command in the background, it will return the process's pid, and get it's is running status anytime in the another process, and can be stoped anytime.

suport these system:

  • Windows
  • Linux
  • Mac osx

Document Language

Installation

Install via composer:

composer require dgr/nohup

Usage

Run a script background

Look, so easy!

use dgr\nohup\Nohup;

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

It will be running in the background for 5 seconds.

But, it can be stoped any time:

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

It stoped now!

Get the pid : $process->getPid(), It will return the real pid in both window and *inx system

Get it's running status with the function $process->isRunning():

use dgr\nohup\Nohup;

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

output: .....Done.

Create process from known pid ($pid)

use dgr\nohup\Process;

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

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

Method:

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

  • $commandLine: string, the command will be run.
  • $outputFile: string, the file path where to save output content.
  • $errlogFile: string, the file path where to save error message.

Author

大官人