Hola!
Estoy escribiendo un programa que corre algunos hilos que monitorean la conexión de una USB y otras cosas. Cuando la USB está montada, necesito correr una aplicación en Linux y dejarla corriendo por su cuenta.
Esto es fácil de hacer a través de system(), pero el problema con system es que me bloquea el hilo hasta que la aplicación que llamé termine. No quiero esperar a la aplicación, ella y mi programa deberán correr en paralelo. La aplicación es el reproductor VLC.
system("vlc /mnt/usb");
Estuve leyendo y parece que puedo lograrlo con un simple fork(), pero sólo lo he usado en código sin hilos, donde sólo habrá un proceso padre y el hijo. Ahora, si corro un fork() desde mi proceso con varios hilos... ¿se clonan también los hilos? No me importaría usar el fork, pero si me clona los hilos, no funcionaría bien mi programa.
¿Me pueden dar alguna pista con esto?

Edito: Me faltó preguntar también si puedo obtener el PID del VLC para después matarlo cuando ya no me haga falta.
Gracias
