Как быстро определить, какой процесс (если есть) слушает последовательный порт
Я ищу команду, чтобы увидеть процесс, слушающий порт, например /dev/ttyS0
(с правами root в системе Linux). Я могу сделать это с
lsof /dev/ttyS0
но это действительно слишком медленно. Кроме того, я не могу использовать -p
флаг, чтобы сделать это быстрее.
Я хотел бы сделать то же самое, используя другие ресурсы системы Linux. Это возможно?
2 ответа
Я только попробовал это с виртуальной консолью, но это будет работать (по крайней мере для некоторых ресурсов. У меня нет последовательного порта, но он работал для моего tty's)
Фьюзер -n файл / dev / ttyS0
(Как корень, конечно)
Точно так же вы можете искать вещи, говорящие с сокетом, с помощью fuser -n tcp|udp XXXX
Я знаю, что уже поздно, но для будущего использования. Если lsof (с правами root) занимает слишком много времени, причина может заключаться в том, что он пытается разрешить имена хостов, когда открыто большое количество портов tcp / udp. Этого можно избежать, используя опцию -nsudo lsof -n /dev/ttyS0
Если опция -n недоступна, вы можете попробовать опцию -Xsudo lsof -X /dev/ttyS0