Questo è ciò di cui ho bisogno per accadere:
- avviare il processo A in background
- attendere x secondi
- avvia il processo B in primo piano
Come posso fare aspettare l'attesa?
Sto vedendo che 'sleep' sembra fermare tutto e in realtà non voglio 'aspettare' che il processo A finisca completamente. Ho visto dei loop basati sul tempo ma mi chiedo se c'è qualcosa di più pulito.
sleep
blocca il processo A? Puoi mostrare il processo di test che stai utilizzando o un output indicativo di questo? Se il processo A si sta arrestando, è più probabile che stia provando a leggere dal terminale mentre è in esecuzione in background e viene bloccato per quel motivo, piuttosto che a qualsiasi cosa relativa sleep
.
process_a </dev/null &
si attaccherà la sua stdin al /dev/null
piuttosto che il TTY, e che può essere sufficiente per evitare il problema.