Come faccio a fork un nuovo processo e ottenere il suo PID in Perl?
Domanda
Il mio problema è legato all'uso di fork ()
nel codice Perl.
Vorrei biforcare un nuovo processo, acquisire il suo PID e riportarlo al programma chiamato. C'è qualche comando in Perl che lo renderebbe possibile?
Soluzione
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
}
Altri suggerimenti
sì, fork
Citando da quella pagina:
Restituisce il pid figlio al genitore processo ,
0
nel processo figlio oundef
se il fork non ha successo.
fork restituisce pid figlio al genitore e 0 al figlio.
Bene, la funzione fork
di Perl restituisce PID
da bambino a genitore e da 0 a figlio, non è quello che vuoi?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow