리눅스 exec 예제

찾기 -exec은 참으로 유용합니다 … 내 즐겨 찾기는 단어 나 구가 포함 된 파일의 목록을 찾는 것입니다…. [잠재적 인 함정]: 커널 스케줄러가 프로세스의 부분 또는 시간 조각을 실행하는 시기의 예측 불가능성으로 인해 경합 조건을 만들 수 있습니다. 하나는 대기()를 사용할 수 있습니다. sleep())을 사용하면 응용 프로그램에서 스케줄러 동작을 예측할 수 없기 때문에 로드가 많은 시스템에서 실행의 안정성을 보증하지 않습니다. 마지막 명령 인수가 « {} »가 아닌 경우 `+`를 사용할 수 없습니다. 파일 이름 접미사를 변경하는 마지막 섹션의 예제: exec은 현재 셸의 모든 출력을 파일로 리디렉션하기 위해 명령 없이도 사용할 수 있습니다. 리디렉션에 대한 자세한 내용은 bash 셸의 리디렉션을 참조하십시오. 기본은 -exec sh -c를 사용할 때와 동일합니다 … {} `;`,하지만 스크립트는 이제 인수의 훨씬 더 긴 목록을 걸립니다. 스크립트 내에서 « $@ »을 반복하여 반복할 수 있습니다. 또한 exec 명령을 사용하여 프로세스의 단계와 같이 순차적으로 서로 실행되는 셸 스크립트 집합을 만들 수도 있습니다. 컨트롤을 다음 스크립트로 전송해야 할 때마다 새 프로세스를 생성하는 대신 exec 명령을 실행합니다.

stdout 리디렉션 – exec 1>파일은 표준 출력이 현재 셸 세션의 끝에 대한 파일이라는 파일로 발생합니다. 디스플레이에 출력할 모든 것이 파일에 있습니다. 위의 명령은 파일 설명자(설명자)를 명시적으로 여는 예입니다. 자세한 내용은 bash에서 파일 설명자 열기를 참조하십시오. 여기서 주목해야 할 점은 메모리에서이 스크립트를 대체하는 exec 호출이 있다는 것입니다. 즉, -exec의 전체 지점입니다, 일어나지 않아야합니다. GNU 찾기와 함께 이 문제를 재현할 수 있는 경우 버그로 보고하십시오(문제를 재현하는 방법에 대한 명확하고 재현 가능한 지침). 감사. 을 위해 끝에 +로 대체 될 수 있습니다. 이렇게 하면 발견된 각 경로 이름에 대해 한 번이 아니라 가능한 한 많은 인수(발견된 경로 이름)로 지정된 명령을 실행합니다. 문자열 {} 이 작동하려면 +바로 전에 발생해야 합니다.

Ce contenu a été publié dans Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Les commentaires sont fermés.