| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > fork exec |
| Автор: Ak47black 28.9.2010, 10:08 | ||||
| Здравствуйте. Есть вот такой вот код
Мне нужно сделать что-бы строка input запустилась и выполнилась так-же как и в bash оболочке. Парсер у меня работает нормально. Осталось понять как быть с трубами, их соединением, как правильно запускать приложения в моём случае и следует-ли их ждать с waitid? Очень хочу узнать с чего начать подход и как и в каком порядке нужно всё это дело сделать. Добавлено через 3 минуты и 36 секунд Есть у меня ещё вот такой пример
который выполняет "ls -1 | cut -c 44-56" Мне вот по нему совсем непонятно как быть с трубами. И ещё у меня все команды идут с параметрами, тоетсь prog param1 param2 ... , то какую exec функцию нужно взять и как мне использовать? |
| Автор: Ak47black 28.9.2010, 12:23 | ||||
| Сгущайте, может кто знает. Нельзя-ли сделать что-бы команды можно было запускать одной строкой со всеми параметрами сразу Тоесть чтото на подобии
а не
? |
| Автор: Ak47black 28.9.2010, 13:42 | ||||||
| А не так мне нельзя, у меня задание сделать свой шелл. Добавлено через 1 минуту и 33 секунды Застрял я вообщем на таком коде
g++ вроде запускается, но вижу странный текст
Добавлено через 2 минуты и 43 секунды Тут я запускаю
вроде всё передаю правильно. |
| Автор: Ak47black 28.9.2010, 14:42 | ||
| Этот код так-же пока ещё работает на Windows Добавлено через 4 минуты и 17 секунд Вот http://www.codenet.ru/progr/cpp/spr/084.php документация по exec
Чем-то похоже на мой код, только тут char ** А как мне быть? |
| Автор: Ak47black 28.9.2010, 17:00 | ||||
| Тут проблема не и изза массива Вот такой код тоже не работает
Я взял его отсюда http://www.opengroup.org/onlinepubs/009695399/functions/exec.html Не понимаю вообще ничего почему это всё не работает Добавлено через 5 минут и 18 секунд А в линуксе вот такой код работает
|
| Автор: Ak47black 28.9.2010, 17:16 | ||||
Но вот такой код в UNIX, тоже не работает правильно
Добавлено через 24 секунды Может тут дело из-за
??? |
| Автор: Ak47black 28.9.2010, 17:54 |
| Ура нашел ошибку Надо было в параметрах указывать ещё и параметр - имя программы. Немогу понять до конца для чего его нужно указывать два раза, но главное работает |
| Автор: Void 28.9.2010, 19:35 | ||
Потому что список параметров загружаемая программа получает как есть, без всякой обработки. А argv[0] у нас что? Вот. |