ejecutar script independiente desde C++

Imagen de anticuado
0 puntos

Hola, mi situacion es esta: tengo un modem gprs. Al arrancar linux ejecuto mi aplicacion que se conecta a internet. sin embargo, si al arrancar el sistema no tiene cobertura, llega un momento que deja de intentarlo y la única forma de que vuelva a buscar es volver a conectarlo manualmente. lo que estamos intentando es que sea nuestra aplicacion la que conecte automáticamente cuando está en ese estado y recupere cobertura. hemos visto que reiniciando el proceso nm-applet vuelve a buscar una conexión. He creado un script para tumbar el proceso nm-applet que si lo ejecuto "a mano" si que lo resuelve, pero el problema viene al intentar hacerlo desde el código.
el script tiene esto:

pkill nm-applet
nm-applet

he probado a ejecutarlo con un execv () y con system () (tras hacer un fork) pero no funciona exactamente igual (el icono de cobertura, por ejemplo, no aparece) y en la lista de procesos ya no aparece nm-applet sino que aparece el nombre de la aplicacion padre(con los problemas que implica a la hora de volver a intentar matarlo.

Hay alguna forma de "emular" que se ejecute como si lo ejecutara con un doble click?