bash를 사용하여 여러 명령을 실행하고 백그라운드 화하는 방법은 무엇입니까?
예를 들면 다음과 같습니다.
$ for i in {1..10}; do wait file$i &; done
여기서 wait는 사용자 정의 바이너리입니다.
지금은 오류가 발생합니다.
syntax error near unexpected token `;'
위의 명령을 실행할 때.
백그라운드가되면 명령이 병렬로 실행됩니다.
당신이보고있는 오류 는 "명령 종결 자"에 기인
—
glenn jackman
&
하고 ;
있습니다. 둘 다 사용할 필요는 없습니다 for ...; do wait $arg & done
. 작동합니다.
@glenn jackman. 예, 실제로 질문을 게시 한 후에 시도했습니다. 둘 다 필요가 없습니다. 및
—
Sebi
미래의 독자들을 위해, 다음 문서에 대한 링크 : "목록은 하나의 연산자 ';', '&', '&&'또는 '||' 중 하나로 분리 되고 선택적으로 하나에 의해 종료되는 하나 이상의 파이프 라인 시퀀스입니다 ';', '&'또는 개행 문자 중 하나입니다. " (emphasis mine)
—
glenn jackman
nohup
당신이 백그라운드에서 명령을 실행할 수 있도록 허용