
SwooleProcess::exec 메서드는 프로세스를 실행하고 PID를 반환하지만, 프로세스가 종료된 후 PID를 반환하지 않습니다.
이 문제를 해결하기 위해, 프로세스의 종료를 기다리는 방법을 사용할 수 있습니다.
#hostingforum.kr
php
$pid = SwooleProcess::exec('php', array('test.php'));
$pid = SwooleProcess::wait($pid);
위 코드는 프로세스를 실행하고 PID를 반환한 후, 프로세스의 종료를 기다립니다.
또는, 프로세스의 종료를 기다리지 않고 PID를 반환받으려면, SwooleProcess::start 메서드를 사용할 수 있습니다.
#hostingforum.kr
php
$process = new SwooleProcess(function ($worker) {
// 프로세스 실행 코드
}, true);
$pid = $process->start();
위 코드는 프로세스를 실행하고 PID를 반환합니다.
또한, 프로세스가 종료된 후 PID를 반환받으려면, 프로세스의 종료 이벤트를 처리할 수 있습니다.
#hostingforum.kr
php
$process = new SwooleProcess(function ($worker) {
// 프로세스 실행 코드
}, true);
$pid = $process->start();
$process->on('exit', function ($worker, $workerId, $code) use (&$pid) {
$pid = $workerId;
});
위 코드는 프로세스가 종료되었을 때 PID를 반환합니다.
이러한 방법 중 하나를 사용하여 프로세스가 종료된 후 PID를 반환받을 수 있습니다.
2025-03-12 22:21