我在macOS 10.14.3上,如果有任何区别。
运行此代码时:
import os
pid = os.fork()
from smartcard.scard import SCardEstablishContext, SCardGetErrorMessage, SCARD_SCOPE_USER
hresult, hcontext = SCardEstablishContext(SCARD_SCOPE_USER)
print('Result from {} process: {}'.format('child' if pid == 0 else 'parent', SCardGetErrorMessage(hresult)))
我得到了这个结果:
Result from child process: Service not available.
Result from parent process: Command successful.
为什么我分叉了该过程并且正在进入子过程后,为什么Pyscard无法连接到PCSCD服务?以及我如何在子过程中正确连接pyscard?
显然,PCSC的OSX/MACOS实现中有一个错误,如Ludovic Rousseau所报道