LINUX.ORG.RU

Пример управления программой


0

0
Подскажите где взять максимально простой и прокомментированный исходник консольной программы на С, в котором было бы реализовано по крайней мере три возможных варианта управления программой: (а) интерактивный через командную строку, (б) через чтение команд из файла и (в) через чтение этих же команд из пайпов для руления из другой программы.

Кстати, еще один вопрос. Какой наиболее портабельный между разными ОС способ управления одной программы из другой?

>>Какой наиболее портабельный между разными ОС способ управления одной программы из другой?

сокеты
alex_custov ★★★★★
()
> Кстати, еще один вопрос. Какой наиболее портабельный между разными ОС способ управления одной программы из другой?

реализации CORBA есть подо все платформы, на WEB Services тоже есть стандарты и реализации. Проблема в том что эти двое уж очень тяжеловесны поэтому в реальности чаще выбирают named pipe.

gods-little-toy ★★★
()
> Подскажите где взять максимально простой и прокомментированный исходник консольной программы на С, в котором было бы реализовано по крайней мере три возможных варианта управления программой: (а) интерактивный через командную строку, (б) через чтение команд из файла и (в) через чтение этих же команд из пайпов для руления из другой программы.

Смотри исходники bash, sed, awk... Там команды для можно получать как параметром ком.строки, так и читать из файла или пайпа.

> Кстати, еще один вопрос. Какой наиболее портабельный между разными ОС способ управления одной программы из другой?


пайп
gaa ★★
()
А! а еще RPC есть... не знаю правда что с ним под windows
gods-little-toy ★★★
()
А чего там писать-то? Управление из консоли -- scanf и разбор прочитанной строки. Из файла -- периодически смотреть на дату его последнего изменения и сравнивать с запомненной последней, если не равны -- прочитать/отпарсить/выполнить-если-есть-что. Пайпы -- опрос его на наличие в буфере чего-нить, далее по накатанной дорожке: чтение-всего/парсинг/выполнение. Примеров по интернетам валяется -- хоть ложкой ешь. Не ленись, и найди сам.
one_more_hokum ★★★
()
Ответ на: комментарий от one_more_hokum
Спасибо за ответы. Значит именованные пайпы. Я тут кажется обнаружил еще один пример программы - gnuplot.

Rarruga
() автор топика
Named pipes под виндовс и unix domain sockets (те, что X Server тоже использует) под *nix. Вот только придётся оба варианта отдельно программировать. Хотя под линукс это решается довольно просто, под виндовсом же придётся чуть сложнее.
anonymous
()
Ответ на: комментарий от anonymous
К последнему сообщению забыл дописать: это в смысле самого производительного решения, насколько я в этом разбираюсь.

Андрей

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.