정확성에 관하여:

정확성에 관하여:

자주 묻는 질문은 다음과 같습니다.

이번에는 반전을 더했습니다. 에서 이 작업을 수행해야 합니다 zsh. 또한 해결책은 다음과 같습니다.

  • 침묵을 유지해야 합니다(예: 작업 제어 메시지 없음).
  • zsh이식 가능해야 합니다(즉, 가능한 한 순수에 가깝습니다. 그렇지 않다고 가정 coreutils).
  • 정확해야합니다 (의견 참조)
  • GNU처럼 행동해야 합니다timeout

정확성에 관하여:

프로세스를 시작하고 잠시 기다린 다음 PID를 종료하는 것은 잘못된 것입니다. 시간 초과가 기록되거나 시스템에 PID가 부족해지면 타이밍을 맞춘 프로세스가 종료되고 나중에 동일한 PID를 사용하여 새 프로세스가 시작될 수 있으므로 이는 잘못된 것입니다. 실제로 이런 일은 거의 발생하지 않지만 프로세스가 종료된 시기를 추적하고 아직 종료되지 않은 경우에만 종료하는 더 명확한 방법이 있다면 좋을 것입니다.

답변1

제가 가장 먼저 생각한 것은 프로세스 생성 후 PID를 얻고 zstat도구( 참조 man zshmodules)를 사용하여 프로세스 타임스탬프(예: )를 얻은 다음 필요한 시간 이후에 zstat '+mtime' /proc/PID주어진 타임스탬프가 /proc/PID변경되지 않았는지 확인하는 것이었습니다. 그렇다면 작업을 종료하십시오. .

관련 정보