Пожалуйста, обратитесь к документации для методов, которые вы вызываете.Прежде всего, check_call выполняется до завершения процесса, затем возвращает код возврата из процесса.Я не уверен, как вы намереваетесь найти "PING" из кода возврата, который обычно является целым числом.
Если это там , посмотрите на тело вашего if
Утверждение: вы создаете совершенно новый экземпляр ping
, ждете его завершения и затем пытаетесь завершить код возврата.
Я рекомендую вам изучить руководство по подпроцессам.Узнайте, как захватить дескриптор процесса и вызвать операции на , которые .Вам нужно получить дескриптор выходного потока, найти «PING» в , что , а затем вызвать terminate
в дескрипторе процесса, который вы получили при вызове.