dosseg
23-02-2006, 11:00
Salve sto facendo un progettino per la sincronizzazione dei processi, ma non so come aquisire i parametri dalla shell.
Mi sipego meglio, questo è il programmino:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
void fatal(char *s)
{
perror (s);
exit (1);
}
main()
{
pid_t pid;
pid=getpid();
printf("Chiamata a fork...\n");
pid=fork();
if (pid==0) {
printf("###cp file1 file2\n");
execl("/bin/cp","cp","file1","file2",(char*)0);
}
if(pid>0) {
wait((int*)0);
pid=fork();
if(pid==0){
printf("###sort file2 -o file3\n");
execl("/bin/sort","sort","file2","-o","file3",(char*)0);
}
else if (pid>0){
wait((int*)0);
printf("###cat file3\n");
execl("/bin/cat","cat","file3",(char*)0);
}
}
}
adesso il prblema e che file1 file2 file3 vorrei passarli come paramteri dalla shell come posso fare??
grazie
Mi sipego meglio, questo è il programmino:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
void fatal(char *s)
{
perror (s);
exit (1);
}
main()
{
pid_t pid;
pid=getpid();
printf("Chiamata a fork...\n");
pid=fork();
if (pid==0) {
printf("###cp file1 file2\n");
execl("/bin/cp","cp","file1","file2",(char*)0);
}
if(pid>0) {
wait((int*)0);
pid=fork();
if(pid==0){
printf("###sort file2 -o file3\n");
execl("/bin/sort","sort","file2","-o","file3",(char*)0);
}
else if (pid>0){
wait((int*)0);
printf("###cat file3\n");
execl("/bin/cat","cat","file3",(char*)0);
}
}
}
adesso il prblema e che file1 file2 file3 vorrei passarli come paramteri dalla shell come posso fare??
grazie