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çã