스크립트에서 종료 신호/메시지/이유를 얻는 방법은 무엇입니까?

스크립트에서 종료 신호/메시지/이유를 얻는 방법은 무엇입니까?

나는 다음 트랩을 사용하고 있습니다 :

trap OnExit EXIT

OnExit기능에서는 발생한 일에 대한 모든 정보를 캡처하여 로그 파일에 기록하고 싶습니다. 누가, 왜, 어떻게, 언제 등을 알고 싶습니다.

이것이 가능한가?

답변1

1. 누구- 다른 사용자가 귀하의 프로세스에 신호를 보낼 수 없으므로 프로세스 소유자 사용자일 가능성이 높습니다(루트는 여전히 가능하지만 루트가 귀하의 프로세스를 죽였는지 확인하는 방법을 모르겠습니다).

2. 왜- 어쩌면 다음과 같을 수도 있습니다.

echo "Why did you interrupted the process?" && read why && echo $why > log

(왜 말씀하시는지 잘 모르겠습니다).

3.어떻게- Ctrl + CBASH는 사용자가 누르거나 전송을 통해 중단하는 경우에도 동일한 신호를 수신하므로, kill제가 아는 한 중단이 정확히 어떻게 발생하는지 알아내는 것은 불가능합니다.

4. 언제- 쉽습니다. date다음 명령을 사용하세요.

date > log

편집하다:"이유" 및 "방법"에서 신호 유형을 결정하는 것을 의미하는 경우 다음을 참조하세요.이것StackOverflow에 대한 Q&A입니다.

관련 정보