I use that :
sudo watch lsof -i -4 -a -P
and it returns a list.
how to get the count?
I tried this but doesn't work.
sudo watch lsof -i -4 -a -P | wc -l
I agree, this should probably be on ServerFault.
But, until then:
The issue with what you are doing is the watch command. Watch repeats a command so that you can see the output again and again over time.
My lsof doesn't accept a -4 argument, but if yours does, then
Works for me.
To get the count, you need escape quotes to contain the entire command for the shells spawned by watch:
(Also, -4 didn't work here)