2012-03-01 3 views
3

리눅스에서 프로세스 통신에 대해 조금 배우려는 중이므로 서로 통신하는 2 개의 간단한 C 프로그램을 작성했습니다.리눅스에서 C 프로그램으로 여러 개의 C 프로그램 실행하기

./runner program1 program2 
:

그러나, 약간은 그들에게 모두를 실행하는 프로그램을 만들 수있는 방법은,이 같은 무언가가 수동으로 매번를 실행해야하는, 그래서 내가 알고 싶습니다 짜증나

최신 Ubuntu 및 Bash 셸을 사용하고 있습니다.

답변

4

run.sh 스크립트

#!/bin/sh 
./program1 & 
./program2 & 

실행 명령 : 누군가가 유용하지라고 생각하는 이유

./program1;./program2 

또는

./program1 &;./program2 & 

잘 모르겠지만, 정말 작동합니다

$sh run.sh 
0

C 프로그램을 실행하기 위해 C 프로그램을 사용할 필요가없는 쉘 스크립트 만 작성하면됩니다.

2

이 줄은 (배쉬에서) 할 것입니다 :

program1 & program2 & 

을 사용하면 출력을 기록 할 경우

: 당신은 두 개의 별도의 터미널에서 명령을 실행하려면

program1 >output1.txt & program2 >output.txt & 

xterm -e program1 & xterm -e program2 & 
0

는 왜 사용하지 .

확실히 스크립트를 작성할 수는 있지만 스크립트의 내용은 무엇입니까?

그리고 먼저 스크립트를 열 필요없이 한 번에 변경할 수 있습니다.

0

정확히 묻는대로 수행하십시오. 먼저 runner이라는 파일을 쉘 스크립트로 작성했습니다. bash는

#!/bin/bash 

for arg in [email protected] 
do 
$arg & 
done 

[email protected] 스크립트에 전달 된 모든 인수의 배열이 더 만이 개 프로그램을 실행 제한 스크립트를 만드는 것입니다. 이 스크립트로 시작한 프로그램은$PATH이거나 스크립트로 ./program1으로 전달되어야합니다. 예 program1에서

./runner ./program1 program2 

$PATH하지만 program2 인에 아니다.

관련 문제