boa tarde, sr.
qual a série da porta COM? (RS-000, por exemplo) está usando USB ou diretamente a COM? talvez seja só o drive*
qual tecnologia vc está usando para acessar a porta COM? alta abstração ou low level (WinAPI, C/C++)
assim sendo, vc está acessando a porta COM diretamente ou usa alguma API específica do SO?
via windows, acesse devmgmt.msc. via linux, sugiro pesquisar, mas no ubuntu eu executo um comando ls
simples:
ls /dev/ttyUSB* /dev/ttyS* /dev/serial/by-id/
está rodando em Windows ou Linux (mas sem docker)?
oq está conectado na porta COM? um Arduino, um leitor de código de barras, ou um dispositivo industrial...?
algum outro processo pode estar tentando acessar a mesma porta ao mesmo tempo?
bom, se a porta não for fechada corretamente, pode ficar "presa" até o SO forçar a liberação, de forma bloqueante. e cobsiderando que se vc n estiver sendo intermediado por um SO (há casos em q isso ocorre), então o sr terá de manipular e matar os objetos q consomem esses recursos, sem intermediários.
e digamos q o sr esteja utilizando alguma lib, deve-se monitorar o ciclo de vida de objetos e processos, pois, para algumas libs, a porta pode ficar travada se o buffer de entrada/saída não for limpo corretamente.
se estiver usando uma lib, consulte as docs em busca de um método "flush"; geralmente é isso.
a depender das respostas, poderei ajudar mais. contextualize mais a situação.
uma solução rápida é expor uma API REST a partir de qualquer dispositivo conectado via USB, a fim de facilitar o desenvolvimento, não envolver low level mas abstrair melhor.
prontamente, aguardamos retorno.