Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

158
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!