Como disparar e esquecer um subprocesso?

Tenho um longo processo de execução e preciso iniciar outro processo (que também será executado por um bom tempo). Eu preciso apenas iniciá-lo e depois esquecê-lo completament

Eu consegui fazer o que precisava escolhendo algum código do livro Programming Ruby, mas gostaria de encontrar o melhor / caminho certo e entender o que está acontecendo. Aqui está o que eu recebi inicialmente:

exec("whatever --take-very-long") if fork.nil?
Process.detach($)


Então, é esse o caminho, ou de que outra forma devo fazê-lo?

Depois de verificar as respostas abaixo, acabei com este código, que parece fazer mais sentido:

(pid = fork) ? Process.detach(pid) : exec("foo")


Eu apreciaria alguma explicação sobre comofork trabalho. [já entendi]

Was destacando$$ certo? Não sei por que isso funciona e eu adoraria ter uma melhor compreensão da situaçã

questionAnswers(5)

yourAnswerToTheQuestion