Oto, co muszę zrobić:
- rozpocznij proces A w tle
- poczekaj x sekund
- rozpocznij proces B na pierwszym planie
Jak mogę sprawić, że zacznie się czekać?
Widzę, że „sen” wydaje się zatrzymywać wszystko i nie chcę tak naprawdę „czekać”, aż proces A zakończy się całkowicie. Widziałem pewne pętle oparte na czasie, ale zastanawiam się, czy jest coś czystszego.
sleepzatrzymuje proces A? Czy możesz pokazać proces testowy, którego używasz, lub wynik, który to wskazuje? Jeśli proces-A jest zatrzymanie, to bardziej prawdopodobne, że próbuje odczytać z terminala podczas pracy w tle i coraz zatrzymany z tego powodu, raczej niż cokolwiek związanego sleep.
process_a </dev/null &dołączy do jego stdin /dev/nullzamiast TTY, a które mogą być wystarczające, aby uniknąć tego problemu.