rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[script bash] Executer un script en invisible

Posté par sfel, le mercredi 20 juin 2007 à 11:00:20
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 ############################

#!/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.
L'ennemi est bête : il croît que c'est nous l'ennemi, alors ­que c'est lui !
GLOUGLOU ...
Répondre à sfel  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
thorn, le mercredi 20 juin 2007 à 13:59:52
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.h­tml#

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'
Répondre à thorn

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sfel, le mercredi 20 juin 2007 à 14:56:36
merci
L'ennemi est bête : il croît que c'est nous l'ennemi, alors que c'est lui !
GLOUGLOU ...
Répondre à sfel

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 poumiZ, le mercredi 20 juin 2007 à 15:18:11
Bonjour,
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 & 
Répondre à poumiZ
Logiciels pertinents trouvés dans les téléchargements
Télécharger All In One Video Script 1.0All In One Video Script - All In One Video Script est un script pour l'extension GreaseMonkey pour le navigateur Firefox permettant de détecter la...Catégorie: Vidéo
Licence: Freeware/gratuit
Télécharger mIRC 6.33mIRC - mIRC est un client IRC shareware pour Windows, fortement configurable, permettant de programmer des noms d’emprunt, des...Catégorie: Messagerie instantanée
Licence: Shareware
Télécharger GreaseMonkey 0.8.20080609.0GreaseMonkey - GreaseMonkey permet de bidouiller à la volée les pages web que vous consultez. C'est à dire qu'il va modifier la page...Catégorie: Extensions Firefox
Licence: Open Source
Télécharger Ghostscript Viewer 4.9Ghostscript Viewer - Le programme original pour visualiser les documents au format PostScript (fichiers portant l'extension . PS ). Il peut...Catégorie: Postscript (PS)
Licence: Open Source
Plus de logiciels gratuits sur « [script bash] Executer un script en invisible »