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.
Using composer:
composer require graftype/nohupuse graftype\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 graftype\nohup\Nohup;
$process = Nohup::run('sleep 5');
while ($process->isRunning()) {
echo '.';
sleep(1);
}
echo "Done.\n";output: .....Done.
use graftype\nohup\Process;
$process = Process::loadFromPid($pid);
// or
$process = new Process($pid);
if ($process->isRunning()) {
$process->stop();
}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.