Kill process that raises Device or resource busy: '/dev/ttyUSB0'?

前端 未结 3 661
时光说笑
时光说笑 2021-02-18 22:42

I connect to my Arduino board with the following Python code.

device=glob.glob(\"/dev/ttyUSB*\")[0]
time.sleep(1)
arduino = serial.Serial(device, 115200, timeout         


        
相关标签:
3条回答
  • 2021-02-18 23:30

    You can use

    $ fuser /dev/ttyUSB0
    

    to list the PIDs of the processes using the file. Alternatively, if your fuser command supports it you can use the -k option to kill them.

    0 讨论(0)
  • 2021-02-18 23:32

    Run:

    $ ps ax

    You will see what process is using serial port. Kill that process. This solved it for me.

    0 讨论(0)
  • 2021-02-18 23:38

    In my case

    $ fuser /dev/ttyUSB0
    

    was not working (it showed nothing).

    What was working, however, was the following:

    $ sudo lsof /dev/ttyUSB0
    

    This gave me a list of the processes that were using my serial port and I could simply kill them using the PID (corresponding to the second column in the list).

    0 讨论(0)
提交回复
热议问题