배경:
컴퓨터 생물학 소프트웨어에 대한 테스트 스크립트를 작성 중입니다. 테스트중인 소프트웨어를 실행하는 데 며칠 또는 몇 주가 걸릴 수 있으므로 시스템 충돌 또는 정전시 복구 기능이 내장되어 있습니다.
복구 시스템을 테스트하는 방법을 찾으려고합니다. 특히, 프로그램을 제어 된 방식으로 "충돌"시키는 방법을 알 수 없습니다. 어떻게 든 SIGKILL 명령의 타이밍을 일정 시간 후에 실행하려고 생각했습니다. 테스트 케이스가 매번 동일한 속도로 실행되는 것을 보장하지 않기 때문에 (적어도 공유 환경에서 실행) 로그를 원하는 출력과 비교하는 것은 어려울 수 있습니다.
이 소프트웨어는 분석의 각 섹션마다 한 줄씩 인쇄합니다.
질문:
프로그램에서 출력을 캡처하고 주어진 라인 / 라인 수가 프로그램에 의해 출력 될 때 프로그램을 죽이는 좋은 / 우아한 방법이 있는지 궁금합니다 (쉘 스크립트)?