2017-10-30 33 views
0

폴더 컬렉션의 각 인스턴스에 대해 클라이언트와 서버를 실행하려고합니다. 나는이 명령을 시도 :Linux : 동시 xterm 찾기 및 실행

$ find ./ -name "Makefile" -execdir xterm -title "Server" -e "timeout -s sigint 8s ./server > serverLog.txt" \; -execdir xterm -title "Client" -e "timeout -s sigint 5s ./client > client1Log.txt" \;

을하지만이 8 초 동안 xterm 윈도우에서 서버를 실행 한 후 해당 창을 종료 5 초 동안 xterm 윈도우의 클라이언트를 실행. 내가 찾은 각 Makefile에 대해 동시에 클라이언트와 서버를 실행해야합니다.

답변

0

두 명령을 동시에 실행하려면 ambers와 &을 사용해야하며, 첫 번째 실행을 백그라운드로 보내고 다음 실행을 계속합니다. 따라서

cmd1 & cmd2 & 또는 cmd1 & cmd2과 같이 exec해야합니다. 원하는 작업에 따라 다릅니다.

다음은 하나의 명령을 허용하는 -execdir 내부에서 앰버를 탈출해야합니다.

find [params] -execdir sh -c 'xterm -e "sleep 8" & xterm -e "sleep 5"' \;

:이 작업을 수행하는 한 가지 방법은

find [params] -execdir sh -c 'cmd1 & cmd2' \;

예입니다