Ma se io volessi fare uno script bash dove faccio girare due processi, il primo a distanza di qualche secondo dall’altro, ma appunto il primo di questi processi quando avviato è verboso e non lascia “spazio” all’altro (di essere virtualmente digitato e avviato)?
@mattiagiovanetti @linux@diggita.com @ItaLinuxSociety @linux anche se il primo processo “occupa” il terminale col suo output, comunque se lo lanci terminando il comando con &, puoi comunque continuare ad eseguire altro, il terminale è sganciato. Se poi vuoi pulire l’output puoi redirezionarlo: “comando > /dev/null 2>&1 &” (al posto di /dev/null puoi usare un file per raccogliere i log)
@tommyblue @linux@diggita.com @ItaLinuxSociety @linux Grazie Tommaso, ci riprovo!
Uhm, MJ sembra banale come risposta, ma forse non lo è:
Se alla fine un comando aggiungi “&” senza virgolette, il processo viene lanciato in background e va avanti fino alla conclusione “silenziosamente”. Il controllo torna al terminale da cui lo hai lanciato, e puoi lanciare altri processi in parallelo allo stesso modo.
Intendevi questo?
@lgsp @linux
Il problma è che aprendo uno flusso video continuo con il comandogphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -f v4l2 /dev/video0
non ho termine, e non posso lanciare il programma che visualizza (mvp)
Ho aggirato lanciando due terminali, ma a questo punto suppongo che miscelando i sorgenti, sapendone abbastanza da riuscire a farlo, si potrebbe avere un programma dedicato, che nel mio caso era proprietario sotto ms-windows.
@mattiagiovanetti @lgsp @linux se sei in ambiente linux potrebbe interessarti nohup “comando” che passa il comando in background fino al termine dello stesso, slegandolo dal terminale. Nota conservati il pid relativo per terminare il comando se non termina da solo.
@chiccocaffe @lgsp @linux Sono passato definitivamente a linux, e sto lasciando anche i social proprietari, in modo progressivo. Ti ringrazio, lo proverò di sicuro questa sera!
@mattiagiovanetti @lgsp @linux
questo è un esempio che uso:
nohup record_ffmpeg > rec.log 2>&1 &
preferisco sempre avere un file di log cosi da vedere quando e cosa sia andato storto.@chiccocaffe @lgsp @linux Grazie ancora Francesco, sicuro mi aiuterà a capire. Questa sera me lo guardo con calma e vedo di sistemare l’accrocchio che ho combinato.
@mattiagiovanetti @linux Non ho capito “senza lasciar spazio” ma per avere 1 script Bash che ne lanci 2 in parallelo, puoi usare il carattere “&” alla fine del comando. Esempio
https://stackoverflow.com/a/60622825/3451846
Per aspettare che entrambi finiscano e fare poi altro, basta “wait”, come da esempio sempre sopra. Fai due prove :) ciau!
@boz @linux Ciao Valerio, si, è vero e l’avevo trovato anch’io quel modo ma producendo un flusso di dati video costante il primo comando non ha fine, è per quello che mi tocca lanciare i due comandi in due terminali diversi, se guardi dal mio profilo ho pubblicato quello che ho trovato in rete e che funziona. Ho anche fatto in modo da far eseguire modprobe all’avvio così da saltare la questione sudo ogni volta, e di fatto mi rimangono due su tre comandi. Tuttavia: troppe finestre…





