Sur mon ordinateur, en cours d'exécution linux ubuntu 14.04, u chantez bash
en tant que shell de commande, cette commande ne peut pas être exécutée à partir de la ligne de commande.
Cependant, dans le programme C, il fonctionne correctement:
#define _POSIX_C_SOURCE 200112L
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
pid_t pid = fork();
if(0> pid)
{ // then, error
perror("fork failed");
exit(EXIT_FAILURE);
}
if(!pid)
{ // child
execl("/bin/ls", "/bin/ls", NULL, NULL);
perror("execl failed");
exit(EXIT_FAILURE);
}
printf("parent running after successful fork\n");
return 0;
}
donnant une sortie qui ressemble à ceci:
Note: J'ai couru le programme à partir d'un terminal
Dans le Après la sortie, j'ai coupé la plupart des fichiers de la commande 'ls'.
parent running after successful fork
a.out howToCalcPrimeNumbers(works) tellwait.c
bashloop.sh howToCalcPrimeNumbers(works).c tellwait.h
cards.h howToCalcPrimeNumbers(works).o tellwait.h.gch
cards.h.gch input.txt tellwait.o
cent_convert.c libSensors.h test
Pouvez-vous exécuter la même commande directement dans le bash? – Olaf
Je ne peux pas exécuter ces commandes dans un programme ou dans le bash ... Voilà pourquoi je ne comprends pas ce qui ne va pas – Miguel