Application en shell

Fermé
airmike - 15 juin 2010 à 11:22
 airmike - 17 juin 2010 à 12:31
Bonjour,

Je réalise une application en shell dans laquelle 2 programmes se lancent à un moment donné, s'arrêtent à un moment donné, et enfin une autre s'execute (une fois les 2 précédentes terminées).

Pour ça, j'utilise le logiciel Job Scheduler, et ait utilisé "job chains" pour faire mon application. Le problème, c'est que une fois que j'ai configuré mes jobs, sur l'interface web je vois marqué "job chain/state is missing" pour chacun de mes jobs.

Quelqu'un peut-il m'aider ? merci d'avance

A voir également:

6 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 16/06/2010 à 08:52
hello
en shell, prog3 démarre quand prog1 et prog2 sont terminés, ils démarrent à hh:mm
echo 'prog1 & prog2 & wait ; prog3' | at hhmm
si il faut arrêter prog1 et prog2 manuellement, par ex. 30 minutes plus tard, on peut faire
echo 'prog1 & prog2' | at hhmm 
echo 'pkill "prog1|prog2" ; prog3 | at hhmm + 30 minutes 
1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
16 juin 2010 à 09:28
Je me doutait que ça ne devait pas être bien dure.
pourrait tu expliqué un peu ce que tu fais ? je ne comprends pas l'intérêt d'echo.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
16 juin 2010 à 10:01
c'est pour envoyer à at la liste des commandes à exécuter sur une seule ligne, c'est comme taper
at hhmm << XX
prog1 &
prog2 &
wait
prog3
XX
0
Merci de ta réponse Dubcek,
j'ai essayé ton code mais rien ne se lance...
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
17 juin 2010 à 10:15
vérifier que la commande at fonctionne
echo "touch /tmp/qqqqqq"| at now
sleep 10
ls -l /tmp/qqqqqq
0
Ou plutôt le 2eme programme ne se termine pas, et donc je dois moi même le fermer pour lancer le 3eme... Je te montre ce que je vois (ne fais pas attention aux programmes, ce sont juste pour des essais ;) )


[administrateur@chm ~]$ echo /usr/bin/gedit & /usr/bin/gnome-dictionary & wait ; /usr/bin/xclock | at 10h14
[1] 4704
[2] 4705
/usr/bin/gedit
[1]- Done echo /usr/bin/gedit

À ce moment là, je n'ai pas vu mon 1er programme mais je tombe directement sur le 2eme qui ne se terminera pas... Après l'avoir fermé moi même, voilà ce que je vois :


[administrateur@chm ~]$ echo /usr/bin/gedit & /usr/bin/gnome-dictionary & wait ; /usr/bin/xclock | at 10h14
[1] 4704
[2] 4705
/usr/bin/gedit
[1]- Done echo /usr/bin/gedit
[2]+ Done /usr/bin/gnome-dictionary

Maintenant mon 3eme programme s'est lancé, il faudra aussi que je le ferme moi même pour voir afficher ça :

[administrateur@chm ~]$ echo /usr/bin/gedit & /usr/bin/gnome-dictionary & wait ; /usr/bin/xclock | at 10h14
[1] 4704
[2] 4705
/usr/bin/gedit
[1]- Done echo /usr/bin/gedit
[2]+ Done /usr/bin/gnome-dictionary
job 8 at 2010-06-18 10:14
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
15 juin 2010 à 12:03
Salut.
Pourquoi ne pas faire ça en bash ?
0
J'en avais déjà fait une en bash.
Mais là en fait je suis en stage, et on m'a demandé d'utiliser job scheduler, et de faire un job chain pour créer mon application...
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
15 juin 2010 à 12:20
OK, c'est juste que ton problème n'est pas très compliqué et aurait été facilement réalisé en BASH.
Je ne connais pas ton logiciel. Essai de faire un tuto ou un exemple, peut être comprendras tu ce qui ne va pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Et en bash tu saurais comment faire ?
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
15 juin 2010 à 14:36
je pense. Avec la tâche de fond, l'horloge etc. Il faudrait que tu en dises plus.
0