Описание тега execvp

NoneExecvp - это заданная POSIX функция из семейства exec*, которая заменяет текущий процесс заданным. Вопросы, использующие этот тег, должны быть связаны с использованием и семантикой этой функции.
0 ответов

Использование dup2 и execvp в c

Я пишу программу, которая открывает 2 файла (файл1 только для чтения и файл2 только для записи), затем открывает дочерний процесс, заменяет stdin с file1 а также stdout с file2 с помощью dup2() а затем запускает некоторую команду оболочки (sort,cat,…
15 янв '16 в 08:45
0 ответов

У моих детей отсутствуют проблемы с Fork dup2 и execvp

Этот код должен читать в conc ls -l /bin > Dout/concBin.txt , ls -l /usr/bin > Dout/concUsrBin.txt , ls -l /etc > Dout/concEtc.txt и затем распечатайте ppid, который он должен перенаправить после разветвления, но перед выполнением. в настоя…
01 дек '17 в 06:37
0 ответов

Как выполнить./process 2>&1 | тройник log.txt с execvp

Я пытаюсь написать контроллер процесса. Он должен перезапускать процесс снова каждый раз, когда происходит сбой. Обычно я запускаю процесс с помощью следующей команды терминала: ./process 2>&1 | tee log.txt Теперь я хочу выполнить эту команду…
06 мар '14 в 10:57
1 ответ

После разветвления bash с помощью forkpty и execvp, bash не отвечает на SIGINT

Фон В настоящее время я пишу эмулятор терминала для текстового редактора, который написан на Node.js (Javascript). Приложение использует C++ для разветвления оболочки и связи с ней в бэкэнде. Код, который разветвляет оболочку, был написан другим раз…
15 окт '15 в 06:46
0 ответов

Вызов execvp из драйвера Linux

В настоящее время я хочу вызвать execvp со стороны ядра. Моя программа запрограммирована на переход в режим остановки. Итак, я попытался настроить ниже код: char *argv[] = { "/sbin/halt", "-f", NULL }; char * envp[] = { "SHELL=/bin/sh", "HOME=/", "P…
03 янв '18 в 08:56
2 ответа

grep не работает в пользовательской оболочке

Я пытаюсь написать оболочку на c, и она в основном работает, за исключением grep. Всякий раз, когда я даю команду grep в оболочке, она просто ничего не выводит. Вот часть кода, которую я использую, чтобы создать новый дочерний процесс и затем запуст…
15 авг '11 в 11:59
1 ответ

Функция конвейера в оболочке Linux, запись в C

Моя программа мини-оболочки принимает команду pipe, например, ls -l | wc -l и использует excevp для выполнения этих команд. Моя проблема в том, что если для execvp не существует fork(), команда pipe работает хорошо, но после этого оболочка завершает…
22 мар '16 в 13:55
0 ответов

Написание оболочки на C с помощью fork() и execvp(). Почему execvp ничего не выполняет?

Я пытаюсь реализовать минимальную оболочку с использованием C. Я буду запускать ее на Linux-машине. По сути, execvp(), похоже, ничего не выполняет. Почему это? У меня есть код, который пытается увидеть, если есть ошибка. Любая команда, которую я вво…
28 сен '15 в 07:28
1 ответ

execvp() - неподдерживаемая опция SysV

Я пытаюсь написать простую оболочку на C, которая принимает команду и использует дочерний процесс для выполнения этой команды. Например, если я введу: ps -ael мой дочерний процесс должен выполнить эту команду вместе с ее аргументами. Я распечатываю …
08 мар '18 в 00:55
2 ответа

Создание новой строки из записей в массиве char*

Так вот моя проблема. У меня есть список команд, введенных от пользователя, которые мне нужно использовать для передачи в execvp(), Вот пример с ls команда. char *cmdList = {"ls", "-l", "folder1/folder2"} Теперь мне нужен способ изменить эту первую …
14 янв '16 в 20:49
1 ответ

Почему любая вещь, которая появляется после execvp или семейства функций exec*, не будет выполнена?

Так что я знаю, что все, что приходит после exec* функции не будут выполнены (конечно, если вызов exec* успешен). Я хочу понять, почему это так? Итак, я разработал эту крошечную маленькую программу #include <stdio.h> #include <unistd.h> …
09 фев '16 в 15:05
1 ответ

exevp пропускает весь код до ожидания вызова в c

Я пытаюсь выполнить файл, используя fork а также execvpОднако я сталкиваюсь с некоторыми ошибками. Я не нашел каких-либо решений для проблемы, с которой я сталкиваюсь здесь в Интернете, так как я не получаю никаких ошибок от моего exevp, и он не раб…
21 апр '13 в 22:07
1 ответ

Как получить ошибку execvp в fork()?

У меня есть следующий код. Мой вопрос в коде int main() { .... if ((uproc.pid = fork()) == -1) { return -1; } if (uproc.pid == 0) { /* child */ const char *argv[3]; int i = 0; argv[i++] = "/bin/sh"; argv[i++] = "/my/script.sh"; argv[i++] = NULL; exe…
23 ноя '12 в 16:00
1 ответ

Попытка вызвать execvp для запуска имени программы, предоставленного через stdin, но каждый раз вызывать ошибку

Добрый вечер Я нашел несколько подобных вопросов, но ничего, что не достаточно на основе этого конкретного вопроса. Я разветвляю дочерний процесс и пытаюсь вызвать execvp для запуска простой программы, которая выводит 3 символа в стандартный вывод. …
08 мар '17 в 00:12
2 ответа

execvp(array[i], array) где массив [NUMBER][NUMBER] ошибка

Я пытаюсь отправить массив предопределенного размера пользовательского ввода в функцию execvp, однако я получаю предупреждение от компилятора. Существует соотношение текстового кода, которое требуется для stackru, поэтому я просто пытаюсь заполнить …
26 мар '15 в 16:42
1 ответ

Сделать оболочку с C

Я пытаюсь создать оболочку, используя C в качестве домашней работы, но мой execvp() не работает. это не exe ls. Я работаю на виртуальной машине Lubuntu 32 Это мой выход любой мой сообщение об ошибке! if(pid==0){ printf("child"); char **tokens=tokeni…
16 апр '15 в 20:53
2 ответа

valgrind неверное чтение размера 1 на execvp

Я использую execvp для проекта мини-оболочки, а valgrind показывает огромную утечку памяти в одной строке: строка 263. Я проверил, что я не использую никакие инициализированные переменные, и я освобождаю свои указатели и вкладки. Так что я сейчас не…
14 июл '15 в 07:28
2 ответа

Вызовите программу переменного тока из C++ и передайте аргументы

У меня есть программа на C++, и в какой-то момент в моей программе мне нужно вызвать программу ac и передать ей некоторые аргументы. Я работаю в Linux Env. файл simpsh - это скомпилированный c-файл в том же каталоге. result_simpsh_command - это стро…
08 фев '16 в 09:59
1 ответ

C Передача одного аргумента и двух параметров в execvp

Я работаю над простой оболочкой для своего школьного проекта, и я пытаюсь передать два входных параметра, которые будут использоваться с командой (например: ls /home/ -l), поскольку я могу передать только 1 атм. Значение того, что идет после "/home/…
22 ноя '15 в 23:38
2 ответа

Запуск команд из дочернего процесса

Я хочу создать оболочку, в которой дочерний процесс запускает команды linux (с помощью execvp), такие как "ls" и т. Д. Я также хочу иметь возможность запускать команды с аргументами, такими как "ls -a" или "ls -l". /tmp"Родитель должен ждать, пока р…
12 ноя '15 в 22:13