ошибка при попытке печати в несколько файлов в сценариях bash

У меня возникла проблема с записью в файлы.
Я создал server/client в c (для Linux через sockets).
Я хочу, чтобы clients сохранял файл журнала со всеми своими действиями. Когда я открываю клиент и передаю файл, все в порядке, но когда я проверяю поддержку нескольких запросов моего сервера (путем создания bash-скрипта, который все это проверяет), я обнаружил, что ни один из моих клиентов ничего не пишет.

Команда клиента: ./client_prog host port file_to_receive log_file

Скрипт:

cd client1/
./client_prog localhost 22222 file.txt log &
cd client2/
./client_prog localhost 22222 file.txt log &
cd client3/
./client_prog localhost 22222 file.txt log &
#more clients....

каждый клиент создает поток журнала и передает данные по каналу, а поток журнала записывает его с помощью fopen(), fprintf() и fclose().

Кстати, когда я пытаюсь с двух разных терминалов, все работает нормально.
В этом нет никакого смысла..

Спасибо!


person Yoav Amir    schedule 22.01.2013    source источник
comment
у вас есть копия client_prog в каждом из clientN/ подкаталогов? И разве это не должно быть cd ../client2 (из client1), если все ваши clientN/ каталоги имеют общего родителя   -  person Anton Kovalenko    schedule 22.01.2013
comment
вы передаете полный путь к файлу журнала при вызове вашей команды?   -  person nullrevolution    schedule 22.01.2013


Ответы (1)


Это ваш точный сценарий (или упрощенный спинет)?

Вы уверены, что не хотите выполнять 'cd ..' перед попыткой перейти к другим клиентским каталогам (после первого клиента)? Потому что, если ваш первоначальный 'cd client2' даст сбой, вы в конечном итоге попытаетесь запустить клиент, используя тот же 'file.txt' и 'log< /strong>', которые могут вызвать у вас некоторые ошибки?

person Jeach    schedule 22.01.2013