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

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)?

@linux@diggita.com @ItaLinuxSociety @linux

0 points · 9 comments · view on lemmy.world

9 Comments

tommyblue@mastodon.uno · 1 pts · 242d (1 reply)

@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)

lgsp@social.tchncs.de · 1 pts · 242d (5 replies)

@mattiagiovanetti @linux

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?

mattiagiovanetti@mastodon.uno · 1 pts · 242d (4 replies)

@lgsp @linux
Il problma è che aprendo uno flusso video continuo con il comando

gphoto2 --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.

chiccocaffe@mastodon.uno · 1 pts · 242d (3 replies)

@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.

mattiagiovanetti@mastodon.uno · 1 pts · 242d (2 replies)

@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!

chiccocaffe@mastodon.uno · 1 pts · 242d (1 reply)

@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.

mattiagiovanetti@mastodon.uno · 1 pts · 242d

@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.

boz@mastodon.uno · 0 pts · 242d (1 reply)
[ removed ]
mattiagiovanetti@mastodon.uno · 1 pts · 242d

@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...