Добавил:
          
          
        
        
    
            Fragga
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:лабораторки по ОС препод Челноков / 2семестр / VD / BuH / konv
.c#include <stdio.h>
#include <string.h>
void start(char *name, int in, int out)
    {	
    if (fork()==0)
	{
	dup2(1,in);
	dup2(0,out);
	close(in);
	close(out);
	printf ("%s !!!\n", name);
	execlp(name,name,0);
	}
    } //end start
    
main (int argc, char *argv[])
    {
    int i, fd[2], in=0, out;
    for (i=1; i<argc-1; i++)
	{
	pipe (fd);
	out=fd[1];
//	printf ("%s, %d\n", argv[i], i);
	start(argv[i],in,out);
	in=fd[0]; 
	}
    out=0;
//    printf ("%d, %s\n", i, argv[i]);
    start(argv[i],in,out);
    } //endcmain
 