쉘 스크립트에서 여러 파일 잠금

쉘 스크립트에서 여러 파일 잠금

1개의 파일을 잠그는 C 프로그램이 있습니다. 여러 파일을 잠가야 하므로 여기서 해결 방법은 프로그램의 여러 인스턴스를 실행하는 것입니다. 그러나 이는 여러 터미널을 여는 것을 의미하기도 합니다(잠글 파일 수만큼 많은 터미널이 열려 있음). 왜냐하면 일단 프로그램이 실행되기 시작하면 터미널은 사용됩니다.

작동하는지 확인하기 위해 다음 명령을 사용해 보았습니다. 최종 목표를 달성하려면 이 명령을 스크립트에 몇 번 복사해야 하는데 다음 명령을 실행하면 이상한 오류가 발생합니다.

konsole --workdir/ -e ./lock /vol4/commit/file_1

다음 오류 메시지와 함께 새 창이 열립니다.

경고: '/vol4/commit/lock /vol4/commit/file_1'을 찾을 수 없습니다. 대신 '/bin/bash'를 시작합니다. 프로필 설정을 확인하세요.

여기서 무엇이 잘못되었는지 말해주실 수 있나요?

답변1

/vol4/commit/file_1이상하게 보이는 파일 경로이지만 어쨌든 ...

아니요여러 터미널을 실행해야 합니다. 백그라운드에서 명령을 실행하면 터미널에서 추가 명령을 실행할 수 있습니다. &명령줄 끝에 추가하면 됩니다 . 예를 들어,

./lock /vol4/commit/file_1 &

~에서배쉬 매뉴얼 페이지

목록

;목록은 , &또는 연산자 중 하나로 구분되고 &&선택적으로 , ││또는 중 하나로 끝나는 하나 이상의 파이프 시퀀스입니다 .;&<newline>

[...]

명령이 제어 연산자에 의해 종료되면 &쉘은 서브쉘의 백그라운드에서 명령을 실행합니다. 쉘은 명령이 완료될 때까지 기다리지 않고 상태 0을 반환합니다.

다음에 제공된 정보도 참조하세요.직업 통제Bash 매뉴얼 페이지의 섹션.

관련 정보