I don't know if this helps, but here is the output of strace
poll([{fd=0, events=POLLIN}, {fd=4, events=POLLIN}], 2, -1) = 1 ([{fd=0, revents=POLLHUP}]) (... repeated in infinite loop)
and here is output of lsof : COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME usb 9846 lp 4u unix 0xffff88007e521b80 0t0 42632 socket
so the "hanging" usb process keeps polling a UNIX domain socket in vain.
I don't know if this helps, but here is the output of strace
poll([{fd=0, events=POLLIN}, {fd=4, events=POLLIN}], 2, -1) = 1 ([{fd=0, revents=POLLHUP}])
(... repeated in infinite loop)
and here is output of lsof :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
usb 9846 lp 4u unix 0xffff88007e521b80 0t0 42632 socket
so the "hanging" usb process keeps polling a UNIX domain socket in vain.