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

simat1 Messages postés 2 Statut Membre -  
blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. Gragou Messages postés 5 Statut Membre 1
     
    Salut,
    Pas à ma connaissance mais je ne suis pas un super pro.
    Qu'est ce que tu veux faire exactement?
    0
  2. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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"
    0
  3. Pitu Messages postés 1460 Statut Contributeur 125
     
    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+
    0
  4. pjour
     
    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.
    0
    1. blux Messages postés 5035 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Ca dépend de la plate-forme sur laquelle tu es, car un CALL n'est qu'un appel à un module externe...
      0