Bonsoir je suis nouveau dans la programmation système, je suis entrain de tester les pipes j'ai un soucis avec le code ci-dessous
Quand je test cette commande "/bin/cat" avec un paramètre pas de soucis le code s’exécute normalement mais quand je test sans paramètre j'ai une erreur de type : Input/output error
quelqu'un peut t'il m’éclairer ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
int main(int argc, char **argv, char **ev)
{
	pid_t		pid;
	int			fd[2];
 
	char	*cmd[2] = {"/bin/cat", NULL};
	pipe(fd);
	pid = fork();
	if (pid == 0)
	{
		close(fd[0]);
		dup2(fd[1], 1);
		close(fd[1]);
		execve(cmd[0], cmd, NULL);
	}
	else
	{
		close(fd[1]);
		dup2(fd[0], 0);
		close(fd[0]);
	}
	return 0;
}
merci d'avance rsokar