Как мне разветвить новый процесс и вернуть его PID в Perl?

StackOverflow https://stackoverflow.com/questions/1438282

  •  08-07-2019
  •  | 
  •  

Вопрос

Моя проблема связана с использованием 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 дочернего элемента, разве это не то, что вы хотите?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top