> 백엔드 개발 > 파이썬 튜토리얼 > 스레드와 함께 subprocess.Popen 클래스를 사용하고 있는데 작동하지 않습니다.

스레드와 함께 subprocess.Popen 클래스를 사용하고 있는데 작동하지 않습니다.

WBOY
풀어 주다: 2024-02-22 13:13:11
앞으로
703명이 탐색했습니다.

我正在使用带有线程的 subprocess.Popen 类,但它对我不起作用

질문 내용

다음 파일이 있습니다:

ping.py:

으아악

main.py:

으아악

이 프로그램의 목표는 네트워크 장치가 ping이 가능한지 확인하는 것입니다. main.py 파일을 실행 중인데 잘못된 결과가 나타납니다. 디버깅을 해봤는데 스레드 문제인 것 같은데 해결이 안되네요.

어떤 도움이라도 대단히 감사하겠습니다


정답


일부 관찰

  • 앞서 언급했듯이 ping_cmd 追加更多内容,您的命令将拥有越来越多的 ip 地址。最好每次构建一个新命令,而不是附加到 ping_cmd목록

    에 계속 추가되시네요
  • 이 라인을 고려해보세요

    으아악

    리눅스 출력을 보면 다음과 같습니다:

    으아악

    코드에서 ttl(대문자)을 검색하면 항상 false가 됩니다. 또한, 텍스트를 검색하기 위해 정규 표현식을 사용할 필요가 없습니다:

    으아악
  • 글을 올리지 않으셨으니 utilities 包的内容,因此我不知道 packet_cout 해당 항목은 무엇인가요

  • 멀티스레딩을 다룰 때는 print 대신 logging를 사용하는 것이 좋습니다. 전자는 스레드로부터 안전하지만 후자는 그렇지 않기 때문입니다.

여기에 제가 제안한 솔루션이 있습니다

으아악

위 내용은 스레드와 함께 subprocess.Popen 클래스를 사용하고 있는데 작동하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿