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.
sleep
zatrzymuje 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/null
zamiast TTY, a które mogą być wystarczające, aby uniknąć tego problemu.