用于编译和运行多个服务器和客户端的Bash脚本c

时间:2013-09-17 07:01:14

标签: c++ multithreading bash shell client-server

我正在编写一个C ++客户端/服务器应用程序,它有一个多线程服务器,可以接受来自多个客户端的连接。 我需要编写一个bash脚本来编译和执行服务器和客户端的多个实例。客户端和服务器位于不同的文件夹中。

我试过这种方式,但它不起作用,因为它只启动服务器:

#!/bin/sh
cd "/home/myhost/ServerSide"
g++ -std=c++11 -pthread server_struct.cpp -o server     
./server

cd "/home/myhost/ClientSide"
g++ -std=c++11 client.cpp -o client1
./client1

cd "/home/myhost/ClientSide"
g++ -std=c++11 client.cpp -o client2
./client2

1 个答案:

答案 0 :(得分:1)

通常我会将构建过程与运行应用程序分开。 此外,我建议使用make来构建,而不是使用bash脚本。

Makefile(提防缩进!):

CXXFLAGS=-std=c++11

VPATH=ServerSide ClientSide

all: client server

server: server_struct.o
    $(CXX) -o $@ $^ $(LDFLAGS)
client: client.o
    $(CXX) -o $@ $^ $(LDFLAGS)
runall: server client
    xterm -e ./server &
    xterm -e ./client &
    xterm -e ./client &

然后只需运行make runall