$cmd = 'exec sleep 100';
$descriptorspec = [
    0 => ["pipe", "r"],
    1 => ["pipe", "w"],
    2 => ["pipe", "w"]
];
<p>$process = proc_open($cmd, $descriptorspec, $pipes);</p>
<p>if (is_resource($process)) {<br>
sleep(2); // Simulate some processing<br>
proc_terminate($process, 15); // Try SIGTERM<br>
sleep(1);</p>
if ($status['running']) {
    // If still running, try SIGKILL
    proc_terminate($process, 9);
}
proc_close($process); // Clean up resources
}
Use popen() and exec() in combination with an external kill command to manage processes.
On Linux, use pcntl_fork() (in CLI environment) for custom process management.
For complex tasks, consider using a process management framework (such as Supervisord) as an alternative to proc_open().