[script bash] Executer un script en invisible
Résolu
sfel
Messages postés
1645
Statut
Membre
-
poumiZ Messages postés 103 Statut Membre -
poumiZ Messages postés 103 Statut Membre -
Yop tt le monde,
Voilà, j'ai créer actuellement un script un shell - bash.
mais le problème c'es tque celui ci bloque l'utilisation du poste durant son execution.
Ce que j'essai de faire, c'est de le faire passer d'une en service pour que l'ont ne soit pas obligé de se logguer (ca, c'est fait dans les rc*.d), et de deux que ce script passe en une sorte de tache de fond, tel qu'apache ou squid par exemple, pour ne pas me bloquer (car a l'avenir, ce script devra tourner en permanence.
voici mon script pour vous donner une idée de ce qu'il réalise, dès fois que ca vous aiderais.
################ début ############################
###################### Fin #####################
si vous me dîtes que le shell ne le fait pas, mais que le C ou autre langage, oui, aucun problème je referai mon code.
merci d'avance.
Voilà, j'ai créer actuellement un script un shell - bash.
mais le problème c'es tque celui ci bloque l'utilisation du poste durant son execution.
Ce que j'essai de faire, c'est de le faire passer d'une en service pour que l'ont ne soit pas obligé de se logguer (ca, c'est fait dans les rc*.d), et de deux que ce script passe en une sorte de tache de fond, tel qu'apache ou squid par exemple, pour ne pas me bloquer (car a l'avenir, ce script devra tourner en permanence.
voici mon script pour vous donner une idée de ce qu'il réalise, dès fois que ca vous aiderais.
################ début ############################
#!/bin/sh
precedent=0
pingErr_1=1
pingErr_2=1
while [ 1 -eq 1]
do
ping -c 1 10.0.0.11 -I eth1
pingErr_1=$?
precedent=1
if [ pingErr_1 -eq 0]
then
if [ precedent -ne 1]
then
echo ".11 MARCHE !!!"
route del default
route add default gw 10.0.0.11 eth1
sleep 1m
fi
[ precedent -eq 1] && sleep 1m
else
echo ".11 MARCHE PAS !!!"
ping -c 1 10.0.0.21 -I eth1
pingErr_2=$?
if [ pingErr_2 -eq 0]
then
echo ".21 MARCHE !!!"
if [ precedent -ne 2]
then
route del default
route add default gw 10.0.0.21 eth1
fi
precedent=2
while [ pingErr_1 -ne 0]
do
ping -c 1 10.0.0.11 -I eth1
pingErr_1=$?
precedent=1
if [ pingErr_1 -eq 0]
then
route del default
route add default gw 10.0.0.11 eth1
fi
done
else
echo "RIEN NE MARCHE !!!"
fi
fi
done
###################### Fin #####################
si vous me dîtes que le shell ne le fait pas, mais que le C ou autre langage, oui, aucun problème je referai mon code.
merci d'avance.
A voir également:
- [script bash] Executer un script en invisible
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Clé usb invisible - Guide
- Script cmd - Guide
3 réponses
Bonjour,
si tu veux lancer ton script en tâche de fond:
si tu veux le lancer depuis une console et être sûr qu'il s'exécute malgré une déconnexion:
si tu veux lancer ton script en tâche de fond:
mon_script &
si tu veux le lancer depuis une console et être sûr qu'il s'exécute malgré une déconnexion:
nohup mon_script &
Salut,
chaque distributions possedent son deamon "local"
il se trouve dans /etc/init.d/...local..
ou /etc/init.d/rc...local...
qui se charge apres tous les deamons system 'officiels'.
On peut quand meme en creer un et choisir exactement à quel
moment on va le charger ,il faudra donner un nom explicite comme
/etc/init.d/mon_script
Dans ce cas,il y a un ordre entre les deamons,par ex gentoo fait cela tres bien avec la gestion
automatique des dependances entre les differents deamons grace à des commandes qui gerent tout cela :
http://lea-linux.org/cached/index/Admin-admin_boot-daemons.html#
ton programme peut etre un script shell, ou un executable...
ensuite il faudra verifier ton programme, s'il est en activité ,avec par ex
ps aux | grep 'ton programme'
top -n 1 -b -c | grep -v grep | grep 'ton programme'
chaque distributions possedent son deamon "local"
il se trouve dans /etc/init.d/...local..
ou /etc/init.d/rc...local...
qui se charge apres tous les deamons system 'officiels'.
On peut quand meme en creer un et choisir exactement à quel
moment on va le charger ,il faudra donner un nom explicite comme
/etc/init.d/mon_script
Dans ce cas,il y a un ordre entre les deamons,par ex gentoo fait cela tres bien avec la gestion
automatique des dependances entre les differents deamons grace à des commandes qui gerent tout cela :
http://lea-linux.org/cached/index/Admin-admin_boot-daemons.html#
ton programme peut etre un script shell, ou un executable...
ensuite il faudra verifier ton programme, s'il est en activité ,avec par ex
ps aux | grep 'ton programme'
top -n 1 -b -c | grep -v grep | grep 'ton programme'