在bash脚本中尝试打印到多个文件时出错

时间:2013-01-22 13:36:40

标签: bash writetofile

我遇到了与写入文件有关的问题 我已在server/client中创建了cLinux,通过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()写入。

顺便说一下,当我从两个不同的终端尝试时,它工作正常 它没有任何意义..

谢谢!

1 个答案:

答案 0 :(得分:0)

这是你的确切脚本(或简化的spinet)吗?

在尝试移动到其他客户端目录(第一个客户端之后)之前,您确定不想要执行“ cd .. ”吗?如果您的初始“ cd client2 ”失败,那么您最终会尝试使用相同的“ file.txt ”和“日志<来启动客户端/ strong>'这可能会导致一些错误?