我正在尝试使用pyserial连接到makerbot 3d打印机。用于连接的代码部分给我带来了麻烦:
import serial
file = serial.Serial('/dev/ttyACM1', 115200, timeout=1)
当我按原样运行它(即只是python)时,我得到:
[Errno 13] Permission denied: '/dev/ttyACM1'
所以我用超级用户privelleges(sudo python)运行它,我得到了回复:
serial.serialutil.SerialException: pid 3516 could not open port /var/lock/LCK..ttyACM1: locked by PID 1054
所以我猜设备被某些东西锁定了。但是我怎样才能找出锁定它的方法,以及如何阻止它?
答案 0 :(得分:1)
我会尝试:
lsof /dev/ttyACM1
你可能需要抓住lsof,因为默认情况下它可能没有安装在你的。
Per lsof的手册页:
Lsof在其标准输出文件中列出有关进程打开的文件的信息 [...]打开的文件可以是常规文件,目录,块特殊文件,字符特殊文件,执行文本引用,库,流或网络文件(Internet套接字,NFS文件或UNIX域) socket。)可以通过路径选择特定文件或文件系统中的所有文件。