Как мне разветвить новый процесс и вернуть его PID в Perl?
Вопрос
Моя проблема связана с использованием fork ()
в коде Perl.
Я хочу запустить новый процесс, перехватить его PID и вернуть его в программу вызываемого абонента. Есть ли какая-нибудь команда в Perl, которая сделала бы это возможным?
Решение
my $pid = fork();
if ($pid == 0)
{
# We are the child.
}
elsif defined($pid)
{
# We are the parent of child with PID=pid
}
else
{
# The fork failed
}
Другие советы
да, fork
Цитирование с этой страницы:
Возвращает дочерний pid родительскому. процесс ,
0
для дочернего процесса илиundef
, если форк не удался.
fork возвращает дочерний pid для родителя и 0 для дочернего. р>
Ну, функция Perl fork
возвращает PID
дочернего элемента родительскому элементу и 0 дочернего элемента, разве это не то, что вы хотите?
Не связан с StackOverflow