2014-10-12 1 views
0

Документация Python на subprocess.check_callsays, что он будет ждать завершения команды. Однако, если вы запускаете skype, а затем запускаете приведенный ниже фрагмент кода, вы увидите, что строка «Готовый вызов» появляется почти мгновенно (даже до того, как skype завершает поддержку набора номера). Вызов по-прежнему выполняется, даже если скрипт завершает выполнение. Не могли бы вы объяснить, почему?Python и Skype: `skype --callto` в подпроцессе заканчивается раньше

from subprocess import check_call 
check_call(['skype', '--callto', "echo123"]) 
print("Finished calling!") 

ответ

0

Похоже скайп использует модель клиент-сервер: есть запущенный процесс skype и когда один вызывает skype --callto echo123, то это выглядит для этого запущенного процесса, говорит это, чтобы сделать вызов и немедленно завершается. Первый процесс позволяет освободиться от звонка.