Piszę skrypt ładowania ruby dla projektu szkolnego, a część tego procesu ładowania rozpoczyna się kilka procesów w tle (które są napisane i działają poprawnie). Co chciałbym zrobić coś na wzór:Spawn proces tła w Ruby
`/path/to/daemon1 &`
`/path/to/daemon2 &`
`/path/to/daemon3 &`
jednak, że bloki na pierwsze wezwanie do wykonania daemon1. Widziałem odniesienia do metody Process.spawn
, ale wydaje się, że jest to funkcja 1.9+, a ja jestem ograniczony do Ruby 1.8.
Próbowałem również wykonać te demony z różnych wątków, ale chciałbym, aby mój skrypt bootstrap mógł wyjść.
Jak mogę uruchomić te procesy działające w tle, aby mój skrypt startowy nie blokował i mógł wyjść (ale nadal działają demony w tle)?
Jeśli szukasz czegoś większego (ale wciąż na tym samym hoście), rozważ daemon_controller. http://blog.phusion.nl/2008/08/25/daemon_controller-a-library-for-robust-daemon-management/ – Levi
Idealny! Wiedziałem o 'fork' i' exec' (pochodzącym z tła C), ale brakowało mi 'Process.detach()'. Dzięki! –
To nie działa zgodnie z oczekiwaniami, na OSX Lion i wstępnie zainstalowany rubin. – nes1983