how to kill or clean a Uninterruptible slept session leader process from process tabl
I have a big problem with one of my processes named "mbusd" ;it is an opensource modbus RTU/TCP gateway when I plug USB to serial convertor to it my laptop without this process linux makes virtual ttyUSB very fine and when I unplug it removes except those times that I run mbusd process to work with, at that time during mbusd process work when I unplug USB/serial converter the virtual ttyUSB does not disappear and mbusd does not exit too and it turnes in something like this when I get ps -aux| grep mbusd :
root 1620 32.9 0.0 0 0 ? Ds Oct19 6676:21 [mbusd] [defunc]
that Ds stand for :
D Uninterruptible sleep (usually IO)
s is a session leader
I found that it is wainting for an I/O. BUT I unpluged the modbus serial/USB converter and as I checked there is it's virtual tty yet:
at this time I can not even kill it with -9 or -15 signals and pluging back the converter does not solve the problem too and mbusd does not exit or start to run again. the only way to scape from this situation I found is to restarting the system, that is a terrible solution. what can I do to solve this.how can I free it's I/O, I think if I could do it I think it will exit by itself.
Thanks a lot.