저는 scapy를 사용하여 파이썬으로 멀티 스레드 네트워크 스캐너를 구현할 것입니다. keyboardInterrupt의 모든 스레드를 종료하고 싶습니다. 나는 다음 코드를 만들 수 있었지만 모든 스레드가 예외 발생시 종료되지는 않습니다. 스레드를 다루고 예외를 포착하는 다음 코드가 있습니다. 감사합니다.파이썬에서 keyboardInterrupt의 스레드를 종료합니다.
답변
이것은 단지 작은 메모입니다. 일반적으로 KeyboardInterrupt
따라서 당신의 라인을 따라 뭔가를 할 수 있도록 메인 스레드에서 제기 될 것이다 : 메인 쓰레드가 죽었을 때마다 루프를 끊을
import threading
main = None
for t in threading.enumerate():
if t.name == 'MainThread':
main = t
while main.isAlive():
...
합니다. 또한 주 루프에서 스레드 수를 나열하고 주 프로세스를 종료하고이 주 스레드 검사를 사용하여 모든 스레드를 효과적으로 중지 할 수 있습니다.
또는 모든 스레드가들을 수있는 오류 플래그가있을 수 있습니다. 예외가 발생하면 오류 플래그는 다른 모든 스레드에 오류가 발생했음을 나타내며 시스템 종료 시간입니다.
메모 주셔서 감사합니다. 내 코드에도 오류 플래그 메서드가 구현되었습니다. 마지막으로, 나는 그것을 디버그하고 현재 잘 작동하고있다. –
@devilfox 듣고 기쁘게, 또한 내가 게시 한 코드는 분명히 하위 스레드로 갈 것입니다 :) – Torxed
- 1. 스레드를 정상적으로 종료합니다.
- 2. JUnit이 자식 스레드를 종료합니다.
- 3. 파이썬에서 실행중인 명령을 종료합니다.
- 4. 블로킹 명령문이 포함 된 스레드를 종료합니다.
- 5. 모든 스레드를 죽인 후 활동을 종료합니다. android
- 6. 블로킹 큐에서 대기중인 스레드를 정상적으로 종료합니다.
- 7. 파이썬에서 나중에 스레드를 죽이십시오
- 8. 파이썬에서 스레드를 종료하는 방법
- 9. 파이썬에서 스레드를 종료 하시겠습니까?
- 10. 파이썬에서 스레드를 중지하는 방법
- 11. 파이썬에서 스레드를 지우시겠습니까?
- 12. 파이썬에서 스레드를 올바르게 닫는 방법
- 13. 파이썬에서 QT 스레드를 초기화하는 방법
- 14. 파이썬에서 함수와 스레드를 동적으로 생성하기
- 15. 사용자 입력을 기다리는 스레드를 중단 한 다음 응용 프로그램을 종료합니다.
- 16. 파이썬에서 수동으로 스레드를 종료하는 것이 좋은 습관입니까?
- 17. 파이썬에서 멀티 스레드를 사용하는 출력이없는 이유는 무엇입니까?
- 18. 파이썬에서 현재 스레드를 인트로 스 케팅
- 19. 완료 전에 파이썬에서 스레드를 죽이는 것
- 20. 파이썬에서 가져온 클래스 내에서 스레드를 실행합니다.
- 21. 동시에 여러 스레드를 파이썬에서 실행하고 있습니까?
- 22. 새로운 스레드를 통해 파이썬에서 wx.Frame 열기
- 23. oct2py - 파이썬에서 스레드를 사용하여 옥타브 함수 호출하기
- 24. 파이썬에서 udp 소켓 스레드를 멈추는 방법?
- 25. Tomcat 웹 응용 프로그램을 정상적으로 종료합니다. 모든 서블릿 연결을 종료합니다.
- 26. EnterpriseLibrary.Logging 응용 프로그램을 종료합니다.
- 27. 강제 종료합니다 N HAML
- 28. Smarty가 내 세션을 종료합니다.
- 29. NSException의 예외 유형을 종료합니다.
- 30. Jetty가 프로그램을 종료합니다.
정말 누군가 코드를 읽는다고 생각하십니까? – michaelmeyer
내 질문에 언급 된 것과 갇혀있는 것을 이해하면 실제로 문제가되지 않습니다 ... –