Le Forum de l'Alliance Francophone

Nouvelles:

  • Projet du Mois FB: Asteroids@home

Auteur Sujet: [Linux] Script pour suspendre / reprendre les UT  (Lu 35570 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #100 le: 11 June 2017 à 12:10
Bonjour,
J'utilise la dernière version des scripts en développement.
1) Sur mon portable: ./suspend_calc_dev http://setiathome.berkeley.edu/ lance bien le script :
Pas de préférences trouvées : limite mise à 60
En cours de surveillance... limite temps restant = 60
[110617 11:52:31] Suspension de : 27fe08ac.15958.13160.14.41.232_1 [temps restant = 56s]
...

./resume_calc_dev http://setiathome.berkeley.edu/ '06/11/2017 12:00' reprend bien les UT suspendues :
http://setiathome.berkeley.edu/
06/11/2017 12:00
OK
dimanche 11 juin 2017, 11:58:28 (UTC+0200) => Attente de : 92 secondes
Reprise des calculs...
[110617 11:52:31] Suspension de : 27fe08ac.15958.13160.14.41.232_1 [temps restant = 56s]
....
Fin script

=> MAIS les UT sont immédiatement suspendues à nouveau car en le script suspend_calc_dev n'est pas tué... Par contre la commande : ./resume_calc_dev fonctionne puisqu'elle renvoie : [/b]
== Script suspend_calc détecté ==
11444 pts/0    S+     0:09 /bin/bash ./suspend_calc_dev http://setiathome.berkeley.edu/
Entrer le nombre correspondant pour tuer le processus à l'heure définie : (taper ENTREE pour ne rien tuer et continuer)

Remarque : Dans le journal des événements, apparaît souvent en continu : "dim. 11 juin 2017 10:54:23 CEST | SETI@home | task postponed 30.000000 sec:"


2) Sur la machine distante, c'est le même problème : ./resume_calc_dev http://setiathome.berkeley.edu/ '06/11/2017 10:30' renvoie bien les deux valeurs des arguments , mais avoir le choix du projet donc sans taper "0"
http://setiathome.berkeley.edu/
06/11/2017 10:30
OK
dimanche 11 juin 2017, 10:24:43 (UTC+0200) => Attente de : 317 secondes
puis à l'heure choisie, affichage de la liste des UT indiquées comme "Reprise" :
[110617 10:30:03] Reprise de : xxxxxxxxxxxxxxxxxxxxxxxxx
Fin script

Mais là aussi les UT, qui après avoir été reprises, sont immédiatement suspendues puisque le script suspend_calc_dev n'est pas tué... Là aussi la commande :
./resume_calc_devfonctionne parfaitement.
« Modifié: 11 June 2017 à 12:27 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #101 le: 11 June 2017 à 12:28
En effet j'ai oublié ce point, par contre, là ça veut dire qu'il faut qu'il tue en automatique :desole:
Bon on va mettre un troisième argument pour entrer manuellement le PID de ce qu'on veut tuer :)


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #102 le: 11 June 2017 à 12:42
OK ; j'attends donc la mise à jour sur github.  :jap:
Bon appétit !

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #103 le: 11 June 2017 à 12:52
Merci toi aussi.
-> Github à jour, tu peux tester.

P.S. : il n'y a normalement pas d'ordre pour les arguments, j'ai fait en sorte qu'il les identifie correctement


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #104 le: 11 June 2017 à 13:43
./suspend_calc_dev http://setiathome.berkeley.edu/
Pas de préférences trouvées : limite mise à 60
En cours de surveillance... limite temps restant = 60
[110617 13:34:41] Suspension de : 03no08aa.627.276063.7.34.162_1 [temps restant = 57s]
[110617 13:34:51] Suspension de : 27fe08ac.15958.13160.14.41.226_1 [temps restant = 56s]

./resume_calc_dev http://setiathome.berkeley.edu/ '06/11/2017 13:39'
http://setiathome.berkeley.edu/
06/11/2017 13:39
OK
-> Pas de PID, on ne tuera pas de suspend_calc !
dimanche 11 juin 2017, 13:38:11 (UTC+0200) => Attente de : 49 secondes
Reprise des calculs...
[110617 13:39:00] Reprise de : 03no08aa.627.276063.7.34.162_1
[110617 13:39:00] Reprise de : 27fe08ac.15958.13160.14.41.226_1
Fin script

=> suspend_calc_dev NON tué...

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #105 le: 11 June 2017 à 15:57
Met en troisième argument le PID qui correspond à tuer  :hap:


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #106 le: 11 June 2017 à 16:48
1) Sur mon portable cela fonctionne  :hap: avec :
./resume_calc_dev http://setiathome.berkeley.edu/ '06/11/2017 16:37' 30851
date: date incorrecte «30851»
http://setiathome.berkeley.edu/
06/11/2017 16:37
30851
OK
dimanche 11 juin 2017, 16:36:02 (UTC+0200) => Attente de : 58 secondes
On tue le suspend_calc demandé
Reprise des calculs...
[110617 16:37:03] Reprise de : 03no08aa.627.274836.7.34.176.vlar_0
.....
»

2) En local sur la machine distante, cela ne fonctionne pas  :??: : malgré l'ajout du PID du suspend_calc_dev, ce script n'est pas tué par le ./resume_calc_dev : les UT sont reprises puis immédiatement suspendues à nouveau...

N'y a-t-il pas moyen d'aller chercher automatiquement le PID du script suspend_calc_dev ?  :jap:
« Modifié: 11 June 2017 à 19:55 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #107 le: 17 June 2017 à 18:23
Bonjour,

J'ai mis de l'ordre entre les version master et dev des scripts que j'utilisais et le les ai classés dans des répertoires séparés. En utilisant la branche dev, j'obtiens :
1) en local sur ma machine distante, la suspension et la reprise des UT fonctionnent  :hap: :
./suspend_calc http://setiathome.berkeley.edu/./resume_calc http://setiathome.berkeley.edu/ '06/17/2017 17:00' PID_du_suspend_calc
2) à distance depuis mon portable, la suspension des UT fonctionne :
ssh -f login@IP_machine_distante 'sh -c "( (nohup /chemin/vers/suspend_calc http://setiathome.berkeley.edu/ 2>&1 >output.file) )"'mais pas la reprise avec cette commande  :??: :
ssh -f login@IP_machine_distante 'sh -c "( (nohup /chemin/vers/resume_calc http://setiathome.berkeley.edu/ '06/17/2017 17:30' PID_du_suspend_calc  2>&1 >output.file) )"'En effet, le script suspend_calc n'est pas tué. J'ai essayé les deux PID apparaissant dans htop : celui du /bin/bash ..... et celui du sh -c ......

Ça avance donc ...doucement.  :coffeetime:

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #108 le: 18 June 2017 à 13:59
Ah en effet ! Donc il ne reste plus que la reprise à distance, tout le reste fonctionne en local ou distant.
Pas d'infos en sortie du resume dans le output.file ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #109 le: 18 June 2017 à 15:04
Bonjour,
En sortie du resume dans output.file : http://setiathome.berkeley.edu/
14:58

OK
-> Pas de PID, on ne tuera pas de suspend_calc !
dimanche 18 juin 2017, 14:57:23 (UTC+0200) => Attente de : 37 secondes
Reprise des calculs...
[180617 14:58:00] Reprise de : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.147_1
Fin script
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@v
[180617 14:58:01] Suspension de : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.147_1 [temps restant = 58s]

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #110 le: 19 June 2017 à 20:09
En effet la troisième ligne blanche n'est pas normale.

Peux-tu me donner :
1/ Un ps -edf | grep suspend en étant sur la machine distante, afin de repérer le PID.
2/ Ta commande resume_calc que tu lances depuis ta machine locale (ce qui m'intéresse est la partie nohup bien sûr)
3/ Le output.file correspondant, une fois le tout "terminé".

Merci.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #111 le: 19 June 2017 à 21:54
Bonsoir,
ps -edf | grep suspend sur la machine distante renvoie :
login     16540        1    0  juin17 ?       00:00:00 sh -c ( (nohup /chemin/vers/suspend_calc http://setiathome.berkeley.edu/ 2>&1 >output.file) )
login     16541    16540    0  juin17 ?       00:08:38 /bin/bash /chemin/vers/suspend_calc http://setiathome.berkeley.edu/
login     24242    24053    0  21:35 tty1  00:00:00 grep --color=auto suspend

2/Depuis la machine locale (mon portable), je lance toujours le même type de commande :
ssh -f login@IP_machine_distante 'sh -c "( (nohup /chemin/vers/resume_calc http://setiathome.berkeley.edu/ '06/19/2017 21:52' 16540  2>&1 >output.file) )"'
3/ Le output.file correspondant, une fois le tout "terminé" est du même type que celui de mon précédent message ; seuls changent les dates et horaires.
« Modifié: 19 June 2017 à 22:05 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #112 le: 19 June 2017 à 22:32
En étant connecté sur ta machine distante, peux-tu taper :
arg=16540;if [ "$arg" -gt 1 -a "$arg" -le 32768 ];then echo "Youpi, il est entre 1 et 32768";fi


Hors ligne JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31407
  •   
Réponse #113 le: 20 June 2017 à 00:35
... vous auriez dû faire tout ça en MP parce qu'il est un peu pourri ton topic maintenant :D

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)



Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #114 le: 20 June 2017 à 11:35
Bonjour,
Ça donne :
Youpi, il est entre 1 et 32768

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #115 le: 20 June 2017 à 21:39
... vous auriez dû faire tout ça en MP parce qu'il est un peu pourri ton topic maintenant :D
Oui c'est ce que je lui ai dit : il y a même le github pour ça.


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #116 le: 06 August 2017 à 12:06
 :kookoo:
Suite aux dernières remarques : petites actualisations du premier post et de mon github :
    -> Branches renommées en 0.1 et 1.0, cette dernière étant suffisamment stable et user-friendly, la 0.1 n'est plus maintenue.
    -> Explications du premier post supprimées. Elles sont indiquées maintenant sur les README de mon github.
    -> Indications de passer par mon github pour débattre des problèmes particuliers au script.

Donc ne doit être postées ici que les demandes de précisions au premier lancement ou à l'utilisation. Toutes demandes d'évolution / bugs = github :jap:.
En vous remerciant :smak:


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #117 le: 08 May 2018 à 14:24
Correction d'un bug (sur les versions récentes de Boinc ?) qui ont changé le nombre de champs des informations des UT ou leur ordre perturbant mon script.

Pour ceux qui utiliseraient le script, retélécharger la version 1.0 et tentez (conservez l'ancien script au cas où).

Nouveauté : version 1.1-alpha qui se base sur la portion effectuée plutôt que le temps restant. Nécessite de modifier son suspend_calc_conf s'il existe déjà, car il faut indiquer un pourcentage sous la forme "0.85" pour 85% et non plus un temps en seconddes.
Dans le doute renommer votre suspend_calc_conf et lancer le script suspend_calc il vous créera un fichier tout propre :).

A tester.


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2605
  •   
Réponse #118 le: 04 March 2020 à 07:38
Version 1.1 passée en "stable". Je n'ai pas eu de problème avec. Je conseille de l'utiliser plutôt qu'une version antérieure.