Προς το περιεχόμενο

Μετατροπή προγράμματος απο c σε bash script


Mike_ledis

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα.Έχω δημιουργήσει ένα πρόγραμμα σε c το οποίο δέχεται των αριθμό των διεργασιών που δημιουργεί ώς το πρώτο όρισμα απο την κονσόλα.Ύστερα με την βοήθεια της συνάρτησης fork δημιουργεί τις διεργασίες οι οποίες απλά εκτυπώνουν το id τους και μετα κλείνουν.Ήθελα να ρωτήσω αν υπάρχει κάποιος πρόθυμος να μου το μετατρέψει η να με βοηθήσει να το μετατρέψω σε bash script.Παραθέτω το πρόγραμμα παρακάτω.

/*Με την κλήση συστήματος fork δημιουργούμε τόσες διεργασίες όσες δίνονται από το πρώτο όρισμα του προγράμματος*/

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

main(int argc, char **argv)

{

int pid,i;

int pnumber;

pnumber=atoi(argv[1]);//Μετατρέπουμε το πρώτο όρισμα του προγράμματος σε int για να μπορούμε να το χειριστούμε

for(i=1;i<=pnumber;i++){

pid=fork();//Χρησιμοποιούμε την fork για να δημιουργήσουμε τις θυγατρικές διεργασίες

 

if(pid!=0) { //εφόσον η θυγατρική διεργασία δέν κάνει τίποτα πρέπει να τερματίζεται με ένα μύνημα

printf("To id της %dης διεργασίας που δημιουργείτε είναι:%d και είναι διεργασία παιδί \n",i,pid);

printf("ΕΠΙΣΤΡΟΦΗ\n");

exit(1);

}

 

 

}

}

Δημοσ.

Δεν είναι ακριβώς αυτό που ζητάς γιατί δεν υπάρχει

αντίστοιχη συνάρτηση της fork στο bash κέλυφος, ή

εγώ δεν την γνωρίζω. Το παρακάτω script είναι μία

προσέγγιση του C κώδικα σου:

 

>
#!/bin/bash
if [ "_$1" = "_" ];
then
   echo "pid of child $childno is $$"
   echo "return"
else
 i=0
 while [ `expr $i \< $1` = 1 ]; do
     i=`expr $i + 1`
     childno=$i
     export childno
     sh $0
 done
fi

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...