J'ai fait un script bash très simple (mais utile pour moi). Tout ce qu'il fait est simplement d'ouvrir certaines applications que j'ouvrais manuellement. Voici le code:
#!/bin/bash
netbeans &
mysql-workbench &
opera &
chromium-browser &
Maintenant, lorsque je ferme le terminal, les applications ouvertes par le script continuent de s'exécuter. Ce qui est normal, c’est la raison pour laquelle le "&" est là.
Ma question est la suivante: existe-t-il un moyen de toujours exécuter ces applications automatiquement mais également de les fermer automatiquement? S'ils étaient toujours connectés au terminal, ils se fermeraient, mais lorsque je supprime l'esperluette, il ne lance que la première application.
Merci
Ces deux fonctions peuvent être utilisées à partir de votre fichier _.bashrc
_ pour les lancer et les fermer. Appelez-les simplement avec lapp
et kapp
:
_lapp(){
netbeans &
mysql-workbench &
opera &
chromium-browser &
}
kapp() {
pkill 'netbeans|mysql-workbench|opera|chromium-browser'
}
#Or
kapp() {
killall 'netbeans|mysql-workbench|opera|chromium-browser'
}
_
Information:
source .bashrc
_ après avoir ajouté ces fonctions(source: man pkill
)
Vous devrez source le script pour que ces commandes soient exécutées dans votre shell actuel, au lieu du shell créé pour le script:
. ./foo.sh
Ensuite, ces processus d'arrière-plan feront partie du contrôle des tâches de votre shell.
Il pourrait être plus facile d'utiliser une fonction. Dans votre base, par exemple, ajoutez:
foo () {
netbeans &
mysql-workbench &
opera &
chromium-browser &
}
Ensuite, lorsque vous exécuterez foo
à partir de bash, les commandes seront exécutées dans votre shell actuel.