• Реклама


Shell и дескрипторы потоков.

Разработка и Написание программ, вопросы, идеи...

Shell и дескрипторы потоков.

Сообщение Aragaer 25 мар 2004 22:28

Требуется написать нечто на сях под юникс. Рекомендуется использовать системные вызовы типа cal или например date. Проблема в том, что либо придется возиться с распараллеливанием, либо с чтением из файла. А именно:

Распараллеливание:
Код: Выделить всё
if (fork()==0) {
    ...склепать межпроцессный канал
    execl("/bin/cal", "cal", "0")
} else {
    ...опять-таки, обработать межпроцессный канал и почитать из него
}


Чтение (более изящно):
Код: Выделить всё
system("cal|cat>tmp");
...читаем из файла tmp...
system ("rm tmp");


А что хочется - создать pipe, после чего один из его концов подставить в системный вызов (аналогично второму случаю, но вместо tmp будет тот самый дескриптор). Вопрос: а будет ли вообще такое работать? Логика подсказывает, что да, но проверить нет возможности.

На чистом шелле или других скриптовых языках пока писать нельзя. Вернее можно, но тогда задание "написать на С" останется.
Open your eyes.
And Awaken.
Аватара пользователя
Aragaer
Склеротик.
Склеротик.
 
Сообщения: 113
Зарегистрирован: 28 сен 2003 19:32
Откуда: From Dreaming.

Реклама

Сообщение SLAY`ee`K 21 апр 2004 18:02

Ты хочешь организовать многопоточность или многозадачность?
Аватара пользователя
SLAY`ee`K
Модератор
Модератор
 
Сообщения: 125
Зарегистрирован: 07 окт 2003 20:57
Откуда: Виннипег (Манитоба, Канада)

Сообщение Aragaer 21 апр 2004 22:34

хочу получить каким-либо образом ответ из system.
Open your eyes.
And Awaken.
Аватара пользователя
Aragaer
Склеротик.
Склеротик.
 
Сообщения: 113
Зарегистрирован: 28 сен 2003 19:32
Откуда: From Dreaming.


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


  • Реклама
cron