perl - ako na to ?

Sekcia: Programovanie 28.06.2006 | 14:46
janci   Návštevník
Zdravim, potreboval by som v perlovskom scripte spustit vedla seba (subezne) 3 procedury, po ich skonceni by mala nasledovat stvrta. Urichlil by som tak ukoncenie scriptu ktory trva asi 5 min. Vie mi niekto poradit ? Viem ze by to malo ist cez fork, no nerozumiem strukture tohto prikazu tieto by mali ist spolu (teraz su pisane pod sebou): & lsfbvol; & lsrank; & lshostconnect; & showvolgrp; & cap; tento by sa mal spustit posledny ked dobehnu predch. & disk; DIK
    • Re: perl - ako na to ? 28.06.2006 | 14:46
      Martin   Návštevník
      V Perle programovat neviem, ale fork() funguje v C mozno rovnako. funkcia1() a funkcia2() pojdu subezne a funkcia3() sa pusti po nich. int pid; // Celociselna premenna pid int stat; // Sem sa ulozi stav po ukonceni vytvoreneho procesu pid = fork(); if (pid == -1) { // Niekde sa stala chyba } else if (pid == 0) { // Toto je vytvoreny proces funkcia1(); /* Po skonceni funkcia2() tento proces uz nepotrebujeme. */ exit(0); } else { /* Toto je ten povodny rodicovsky proces. V pid je ulozene id dcerskeho procesu. */ funkcia2(); wait(&stat); // Pockame na dcersky proces, lebo inak by sa funkcia3() mohla vykonavat sucasne s funkcia(1) (funkcia1() by este neskoncila a po ukonceni funkcia2() by program pokracoval k funkcia3()) } funkcia3(); man wait man fork