Мое назначение - написать простую оболочку linux. Я нахожусь на внешних командах. Нам нужно использовать execv.Как я могу заставить execv убить мою программу?
for (int i = 0; i < count; i++){
char path[1024];
strcpy(path, PATHS[i]); // PATHS is an array of cstrings, the paths in $PATH
strcat(path, "/");
strcat(path, command[0]); // command and commands are essentially the same
printf("%d %s",i,path); // they are essentially argv[]
if (!execv(path, commands)) // for ls -l $HOME
break; // commands[0] = ls [1] = -l [2] = my home dir
сейчас я тестирую его только с помощью ls. ls работает точно так, как должно, но программа закрывается сразу же после успешного выполнения execv. Есть ли способ для меня использовать execv для проверки правильного пути и для продолжения работы программы после успешного выполнения execv?
http://stackoverflow.com/questions/1653340/exec-and-fork/1653415#1653415 –