Llamar a un proceso desde la shell mientras se sigue ejecutando el script es bastante facil utilizando el símbolo &. Ejemplo:
Código
... ./programauno -param1 -param2 & ./programados -param1 asdasd & ./programatres -param1 -param2 -param3 & ...
De esta manera el script iria ejecutando los programas paralelamente mientras continua. El problema es que esos programas son por consola y necesitan interacción con el usuario, muestran estadisticas, etc... por lo tanto necesito que cada uno de esos procesos se ejecute en una nueva shell. Tal y como lo puse todos los programas se ejecutarian en la misma consola y se mostraría un lio de cosas.
Investigando por la red, solo ponían una manera de hacer esto, y era llamando a la shell especifica (XTerm, gnome-terminal, etc...) con parámetros que ejecutaran directamente los programas que queremos. Esto funciona bien, pero tiene el problema de que el script solo funcionaria para determinadas shell y no para todas. Un ejemplo de esto con gnome-terminal sería:
Código
... gnome-terminal -x mibashuno.sh & gnome-terminal -x mibashdos.sh & ...
Con esto todo dicho, ahí van mis preguntas:
-¿Existe algún comando o alguna llamada que sirva para todas las shell y que permita ejecutar cada uno de los procesos en una shell diferente? (en un batch de windows por ejemplo se usa start)
-Si esto no es posible, ¿sabeis si existe alguna shell por defecto que venga instalada en todos o la mayoría de los Linux? Yo he visto por ejemplo que la XTerm está en bastantes SO de Linux, pero conozco pocas distros diferentes para saber si está en todos.
-Si tampoco existe una "shell universal" ¿Cuales son las shell más populares que vienen en Linux? De esta manera podría comprobar mediante el script si alguna de las shell de mi lista está instalada en el SO, y de estarlo ejecutar esa con sus propios parámetros. Actualmente yo solo conozco la gnome-terminal y el XTerm.
-Cualquier otra sugerencia, cuestión o ayuda que creais que puede ayudarme a solucionar el problema decidmela.
Esto es todo, a ver si alguien puede ayudarme.
Saludos