Forum Linux.suse Cherche Commande sous linux-suse

Posté par  .
Étiquettes : aucune
0
7
juil.
2006
Bonjour,
Je suis debutant en linux. Je voudrait savoir si il existe une commande sous linux qui permet de lancer ( screen -a java -jar logicielle.jar)// la commande que j'execute manuellement.
chaque jour a 8h du matin et de stopper cette execution a 22h du soir pendant tous les jours de la semaine (toutes l'annee), c'est entre autre planifier l'execution de certains programmes que j'ai programmer moi meme a des temps differents de la journee.
Merci pour votre aide
  • # KCron

    Posté par  . Évalué à 2.

    il existe KCron sous KDE. C'est un planificateur de tache.
    C'est simple à utiliser, et ça devrait faire l'affaire.

    Bonne chance!
    • [^] # Re: KCron

      Posté par  (site web personnel) . Évalué à 3.

      Sans aller jusqu'a KCron, je te conseil de voir du coter de cron et ces clones simplement.

      man cron devrait t'aider
      • [^] # Re: KCron

        Posté par  (site web personnel) . Évalué à 3.

        Par contre si tu mets ta commande dans un cron, screen risque de ne pas apprécier de ne pas avoir de terminal. Tu peux la lancer sans screen, ou tu peux le remplacer par nohup ton appli a besoin d'un terminal.
        • [^] # Re: KCron

          Posté par  . Évalué à 1.

          Il suffit de lui spécifier les bonnes options (-d) à screen pour qu'il se passe d'un terminal. Tu peux aussi utiliser un script comme celui-ci


          #!/bin/bash

          $NAME="java_logiciel"
          # $NAME=$2
          $CMD="java -jar logicielle.jar"
          # $CMD=$3

          case "$1" in
          start)
          screen -d -m -S $NAME $CMD
          ;;
          stop)
          kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'$
          ;;
          status)
          if [[ `screen -ls |grep $NAME` ]]
          then
          echo "$NAME is running."
          else
          echo "$NAME not found."
          fi
          ;;
          *)
          echo "Usage: $0 {start|stop|status}"
          exit 1
          ;;
          esac
          exit 0


          Ensuite à 8h, dans cron tu fais la comande "script.sh start" et à 20h "script.sh stop".
          Tu peux aussi savoir si le service tourne: "script.sh status".
    • [^] # Re: KCron

      Posté par  . Évalué à 1.

      Bon merci pour votre reponse,
      Je m'explique un [peut plus :
      je voudrait demarrer (a 8h) mon programme java (donc avec la commande corn je peut plannifier le demarrage ) et l'arreter a (23h)
      Donc pour la creation du processus j'utilise :
      screen -a java -jar logicielle.jar .
      Mais ce que je veu savoir comment l'arreter a 23h (tout en sachant que ma commande cree un nouveau processus qui a un pid aleatoire).
      Merci pour votre aide
      • [^] # Re: KCron

        Posté par  . Évalué à 3.

        avec " killall -15 java " a l'heure dite

        enfin si tu n'as qu un seul programme qui tourne avec java
      • [^] # Re: KCron

        Posté par  (site web personnel) . Évalué à 2.

        Quand tu lance une commande tu peux la lancer en arrière plan en la terminant par & ex : java -jar logiciel.jar &

        Quand tu lance une commande en arrière plan sous bash, celui-ci mets le pid dans la variable $!
        Donc la méthode pour mémoriser le pid est echo $! > appli.pid
        fichier que tu iras lire pour tuer le processus.
      • [^] # Re: KCron

        Posté par  . Évalué à 2.

        screen est-il vraiment nécessaire pour faire tourner ton application ?
        Parce que sinon oui avec kcron, ou un cron tout court, cela devrait bien aller.

        Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

        • [^] # Re: KCron

          Posté par  . Évalué à 1.

          Bonjour, merci beaucoup pour votre aide.
          a propos de screen ca me permet de visualiser le fonctionnement de mon programme donc en effectuant screen -r N PID je peut visualiser le deroulement des operations.
          En deuxieme lieux, j'ai essayer d'utiliser la methode crontab:
          root# crontab -e
          // une fenetre edition apparait j'ai donc ajouter une ligne a la fin du fichier
          30 8 * * * /root/screen -a java -jar logicielle.jar
          //j'ai sauvegarder avec (:wq ) mais l'application n'a pas demarrer a 8h30.
          J'ai reessayer ca na pas marcher (malgre que j'ai bien enregistrer les modifications).
          Pouvez-vous m'aider a resoudre ce probleme. Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.