Гость Опубликовано 6 августа, 2002 Жалоба Опубликовано 6 августа, 2002 дано: Linux, somefile - обычный текстовый файл ~50мб вида: строка1 строка2 строка3 ... строкаN хочу написать программу(mainprog) которая работая постоянно(как демон) считывает строки из файла somefile и запускает для их обработки M(от 10 до 100) квазипаралельных процессов(easyprog) т.к. в зависимости от вида строки процесс ее обработки будет либо дольше либо короче(от 1 до 5 секунд). Обработав строку программа easyprog должна вернуть программе mainprog исходную строку и результат обработки. Mainprog должна следить за выполнением этих паралельных процессов и как только один из них завершается - запускать следующий процесс для новой строки из файла somefile и так до конца файла somefile. Одновременно должно выполняться не более M процессов easyprog. вопрос: как это реализовать на си/си++. если можно - с примерами. Заранее благодарен. Цитата
Гость Опубликовано 7 августа, 2002 Жалоба Опубликовано 7 августа, 2002 Есть программа, которая делает почти то, что нужно - xargs. Либо её непосредственно использовать, либо исходники подкрутить. Цитата
Гость Опубликовано 16 августа, 2002 Жалоба Опубликовано 16 августа, 2002 Бля, а что такое квазипараллельные процессы?)) Нужны именно процессы? Почему не потоки? Потоки imho лучше. Если все-таки процессы, то для коммуникации с ними можно юзать или сокеты, или потоки (в смысле pipe), или сообщения (если строки небольшие). Информации по всему этому много. По тхридам тоже. Цитата
Гость Опубликовано 16 августа, 2002 Жалоба Опубликовано 16 августа, 2002 pit, почитайте это: http://www.botik.ru/rented/rldp/www/ldp/lpg-04/lpg-04.htm занимательно, не так ли? Хоть документация эта устарела, но она совершенно актуальна Цитата
Гость Опубликовано 22 августа, 2002 Жалоба Опубликовано 22 августа, 2002 To smh: "Межпроцессовые коммуникации LINUX" я прочитал до того как задал вопрос. И так как я всё-таки задал вопрос - значит что-то в прочитанном меня не устроило. И вообще любая документация по с\с++ под *nix грешит ошибками и недоговорками - очень обидно. Man'ы и Doc'и не выдерживают сравнения с помощью в Borland C. Цитата
Гость Опубликовано 23 августа, 2002 Жалоба Опубликовано 23 августа, 2002 Тогда объясните, что именно Вас не устроило. Цитата
Гость Опубликовано 24 августа, 2002 Жалоба Опубликовано 24 августа, 2002 там очень много ошибок и несостыковок. и нет ничего про нити. Цитата
Гость Опубликовано 25 августа, 2002 Жалоба Опубликовано 25 августа, 2002 Про потоки (я так понимаю "нити" - это вы имели ввиду thread) есть полно информации в интернете! Неужели тяжело пойти на какой-нибудь поисковик и ввести posix threads, linux threads или что-нибудь в этом роде? Цитата
Гость Опубликовано 26 августа, 2002 Жалоба Опубликовано 26 августа, 2002 Ну, LDP действительно довольно старый документ, про нити там действительно ничего нет. Но! Хотя бы в info libc есть специальный раздел `POSIX Threads', равно как и man pthread_create... Что же касается ошибок в документации, то они, разумеется, бывают, но вообще-то подобные заявления положено подкреплять примерами... Цитата
Гость Опубликовано 2 сентября, 2002 Жалоба Опубликовано 2 сентября, 2002 Пока вы тут наезды на меня клепали я всё что надо нашёл и что хотел написал. Люди, если не знаете что ответить, задавшему вопрос, лучше молчите и не флеймите понапрасну. Цитата
Гость Опубликовано 17 ноября, 2002 Жалоба Опубликовано 17 ноября, 2002 А где нашли? не дадите ссылочки? пожалуйста. Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.