Я пытался использовать библиотеку pcntl, чтобы разветвить дочерний процесс в php.Вот простой фрагмент кода, который у меня есть:
$pid = pcntl_fork();
if ($pid != -1) {
if ($pid) {
print "In the parent: child PID is $pid\n";
pcntl_waitpid($pid, $status);
echo "Back in parent\n";
}
else {
print "In the child\n";
exit(19);
}
}
else {
echo "Fork failed!\n";
}
Я получаю результат:
В дочернем элементе
, что означает, что родитель неничего не делать или, возможно, каким-то образом ребенок стер то, что сделал родитель (я не знаю почему ..)
Если я прокомментирую строку: pcntl_waitpid ($ pid, $ status); Я получаю следующий результат:
У родителя: PID ребенка - 11394 Назад у родителя
В этом случае ребенок ничего не делал .. Какэто может случиться?Я не понимаю, как это работает .. Кстати, я работаю над XAMPP.Может ли кто-нибудь дать мне некоторые идеи?
Большое спасибо!