subprocess.check_call
says上的Python文档,它将等待命令完成。但是,如果您启动Skype,然后运行下面提供的代码段,您将看到该行"已完成呼叫"几乎立即出现(甚至在Skype完成拨号支持之前)。即使脚本完成执行,调用仍然会发生。你能解释一下原因吗?
from subprocess import check_call
check_call(['skype', '--callto', "echo123"])
print("Finished calling!")
答案 0 :(得分:0)
看起来skype使用客户端 - 服务器模型:有一个正在运行的进程skype
,当一个人调用skype --callto echo123
时,它会查找正在运行的进程,告诉它进行调用并立即退出。然后,第一个进程可以自由地进行呼叫。