Exéc. d'1 commande système UNIX ds1prog COBOL

Bonjour,
Je souhaitais savoir s'il existait une commande COBOL permettant d'exécuter une commande système UNIX (équivalent de la fonction 'system' du C.
Merci beaucoup

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,
    Pas à ma connaissance mais je ne suis pas un super pro.
    Qu'est ce que tu veux faire exactement?
    1. Modérateur
      Salut,

      COBOL ne permet pas ce genre d'appel en direct, mais par contre, en fonction de la plate-forme où tu développes, tu peux avoir des appels via CALL à des modules systèmes. Mais attention, si tu veux effectuer une commande, il va falloir synchroniser les process pour ne pas que ton programme reprenne la main tant que la commande n'est pas finie...

      A+ Blux "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
      1. Contributeur
        Salut.

        Est-ce que quelque chose t'empêche de créer dans ton prog cobol un fichier au format d'un shell unix, contenant tes lignes de commandes ?
        Ensuite, comme ton programme cobol tourne sous unix, il est lancé par un shell, ou du moins, il peut l'être, je suppose.
        Et ce shell de lancement peut très bien activer un second shell qui consiste à exécuter ton fichier de commandes ainsi créé par ton programme.

        Non ?

        ...

        a+
        1. bonjour,
          il est possible d'éxécuter une cde shell à partir du cobol.
          il faut utiliser une procédure cobol de type :
          call "CBL_EXEC_RUN_UNIT" using command-line
          by value command-line-len
          by reference run unit-id
          by value stack-size
          flags
          returning status-code

          bonne chance.
          1. Modérateur
            Ca dépend de la plate-forme sur laquelle tu es, car un CALL n'est qu'un appel à un module externe...