Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
El PID devuelto por spawn difiere del Process.pid del proceso secundario

Quiero spawn un proceso potencialmente largo y guardar su PID para poder eliminarlo más tarde si es necesario. El problema es que el PID que obtengo de spawn no es el mismo que obtengo de Process.pid (en el proceso secundario). El resultado de Process.pid coincide con lo que veo ejecutando ps en la línea de comandos.

Aquí está el código para padre e hijo.

padre.rb

 puts "Hi parent" pid = spawn "ruby child.rb 10 &" puts pid Process.detach(pid) sleep 3 puts "Bye parent"

niño.rb

 puts "Start pid #{Process.pid}" sleep ARGV.first.to_i puts "End pid #{Process.pid}"

Producción

 Hi parent 1886789 Start pid 1886791 Bye parent End pid 1886791
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Parece que el operador de trabajo en segundo plano ( & ) está provocando el proceso intermedio 1886789 . Cuando elimino el operador de trabajo en segundo plano, obtengo el siguiente resultado:

 Hi parent 93185 Start pid 93185 Bye parent End pid 93185
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda