2015-12-16 1 views
1

J'ai deux ensembles de commandes à exécuter à partir de différents répertoires à partir d'un script shell.Comment ouvrir un nouveau terminal par des commandes dans un script shell?

Mon contenu du script shell est ci-dessous:

echo "starting Windshaft cartodb..." 
cd /home/user/Windshaft-cartodb/ 
node app.js development 
echo "Windshaft cartodb started." 

echo "starting CartoDB SQL API..." 
cd /home/user/CartoDB-SQL-API/ 
node app.js development 
echo "CartoDB SQL API started." 

Quand je lance le fichier script shell, les 3 premières commandes ont été en cours d'exécution avec succès. Pour exécuter les commandes suivantes, je dois arrêter la commande précédemment exécutée en appuyant sur Ctrl + C. Le traitement de script continue avec echo "Windshaft cartodb started." seulement après cela.

Mon problème est le suivant: Sans arrêter les commandes précédemment exécutées, j'ai besoin d'exécuter les commandes après les commandes ci-dessous dans un nouveau terminal. Comment ouvrir un nouveau terminal par des commandes dans un script shell?

+0

Vous pouvez exécuter le premier 'noeud app.js development' en arrière-plan avec' & 'à la fin de la commande. donc 'node app.js development &' – 7171u

+0

Si j'utilise & il passe à la commande suivante, mais il déclenche une erreur après l'exécution du jeu de commandes suivant [2015-12-16 06: 49: 12.890] [ERREUR] [par défaut] - Exception non interceptée: Erreur: écouter EADDRINUSE à errnoException (net.js: 904: 11) à Server._listen2 (net.js: 1042: 14) à écouter (net.js: 1064: 10) à net. js: 1146: 9 à dns.js: 72: 18 à process._tickCallback (node.js: 415: 13) à Function.Module.runMain (module.js: 499: 11) au démarrage (nœud. js: 119: 16) à node.js: 902: 3 – Harnish

Répondre

0

How to open a new terminal by commands in a shell script?

Vous pouvez ouvrir un nouveau terminal avec la commande xterm et exécuter un programme avec son option -e:

xterm -e node app.js development&