Linux가 사용자가 시작하지 않은 Python 스크립트에 SIGINT SIGTERM 또는 SIGHUP을 보내는 잠재적인 이유는 무엇입니까?

Linux가 사용자가 시작하지 않은 Python 스크립트에 SIGINT SIGTERM 또는 SIGHUP을 보내는 잠재적인 이유는 무엇입니까?

EC2 Linux의 Python 스크립트가 어떤 이유로 종료되었음을 발견했습니다.

이유와 디버깅 방법을 모르겠습니다.

nohup출력을 파일로 보내려고했습니다.

nohup python my_script.py > myprogram.out 2>&1&

하지만 파일에 어떤 출력도 표시되지 않습니다.

누가 신호를 보냈는지 알아내는 일반적인 방법은 무엇입니까?

답변1

감사 하위 시스템을 사용할 수 있습니다.

  1. auditd 데몬 설치
  2. 다음과 같이 실행하십시오 auditctl -a exit,always -S kill -F pid=XXXX -k kill_syscall( XXXX프로세스의 PID로 교체).
  3. 스크립트가 종료될 때까지 기다리세요
  4. 실행하면 해당 태그로 ausearch -i -k kill_syscall기록된 모든 내용 이 나열됩니다.kill_syscall

관련 정보