Если пользователь набирает «ls», execvp отображает результат «ls» на экране. Я хотел бы сохранить это в массиве символов в виде строки. Может кто-нибудь мне помочь? Чинги заранее. int main() {
ch
я разработал следующую функцию Симметричного выполнить команду оболочки из моего кода C int mycmd(char *cmd, int n, ...)
{
va_list arg;
int i, pid;
static int mycmd_pfds[2];
char
Мне нужна помощь, я пытаюсь создать оболочку в minix3, и я хочу создать свою собственную команду «ls», поэтому в данный момент я использую команду execvp. Единственная проблема заключается в том, что
Я пишу свою собственную оболочку для Linux в C. Я не могу реализовать трубопровод, не покидая всю оболочку. Я считаю, что для этого нужно реализовать еще одну fork(), но я не уверен, где это сделать.
У меня есть следующий код в C: if ((childpid = fork()) == 0) {
if (execvp(argv[0], argv) < 0) {
//execute failed
exit(1);
}
} else if (childpid < 0) {
//for
Я пишу небольшую оболочку, чтобы узнать C. Теперь я хочу выполнить пользовательские команды, но он не работает. $ ./a.out
OS>ls
10357: executing ls
failed to execute ls
: (2: No such file or dire
Я использую execvp для мини-проекта оболочки и Valgrind показывает мне огромную утечку памяти на одной линии: линию 263. Я проверил, что я не я не использую ни инициализированные переменные, и я освоб