
txt 파일이 있고 file.txt
각 줄이 Python 스크립트라고 가정합니다. 예를 들어
python a1.py python a2.py python a3.py
다음 명령은 정확히 무엇을 하고 있나요?
cat file.txt | xargs -n 1 -P $NUM_CPUS bash -c
답변1
설명하다:
cat file.txt | xargs -n 1 -P $NUM_CPUS bash -c
cat file.txt
file.txt
- 파이프라인의 다음 프로그램으로 전달된 파일 내용을 연결합니다.xargs -n 1
- STDIN에서 한 번에 1개의 인수를 허용합니다(이전 명령 출력).-P $NUM_CPUS
$NUM_CPUS
- 한 번에 여러 프로세스 실행(프로세스당 하나의 입력 라인 호출)bash -c
- 현재 매개변수로 실행되는 명령
답변2
정수가 포함되어 있다고 가정하면 $NUM_CPUS
이 명령은 최대 여러 개의 병렬 비대화형 bash
쉘을 실행합니다(이것이 바로 그 기능 -P
입니다). 각 쉘은 입력 파일에서 한 줄을 실행합니다(때문에 -n 1
).
cat
이 명령은 필요하지 않습니다.
xargs -n 1 -P "$NUM_CPUS" bash -c <file.txt