究其原因,有一個「pcscd」持續地佔住讀卡機,即使原先不在,只要一插上就歸它管,而且這個程序殺了一秒鐘又會再起來,所以想「暫停」得費點工夫:
- ps -ef | grep pcscd | grep -v grep | awk '{print $8 "\t" $2}' -> 取得 path 與 processId
- sudo chmod -x path
- sudo kill processId
- sudo chmod +x path
後來發現兩個缺點:一是因為找不到原來的 path 而無法恢復,二是在 Consloe 會有很多錯誤訊息,所以那只是個治標不治本的爛方法呀!依據錯誤訊息為線索,在我的機器上可以找到 /Library/LaunchDaemons/org.opensc.pcscd.plist 以及 /Library/LaunchDaemons/org.opensc.pcscd.autostart 兩個內容一模一樣的檔案,而且那個找不回來的 path 都出現了。所以想「暫停」的步驟可改成:
- sudo launchctl unload /Library/LaunchDaemons/org.opensc.pcscd.plist
- (可省略)sudo rm /Library/LaunchDaemons/org.opensc.pcscd.plist
- (可省略)sudo cp /Library/LaunchDaemons/org.opensc.pcscd.autostart /Library/LaunchDaemons/org.opensc.pcscd.plist
- sudo launchctl load /Library/LaunchDaemons/org.opensc.pcscd.plist
- (如果前一次用的是舊方法暫停,再加上)sudo chmod +x path
Yosemite 已不再使用 pcscd,所以招術失靈,請參考這篇。
沒有留言:
張貼留言