top | item 33654145

(no title)

rpsw | 3 years ago

lsof is available on Mac's by default, ss is not, so significantly smaller depends on your platform I guess. I believe ss is not available for Mac at all, where as lsof is widely available.

discuss

order

Calzifer|3 years ago

Well that is one of the problems when suggesting shell snippets. There are many similar ways to do the same thing¹ but most have some caveats or work on one system but not the other. And when asking the AI there might be not enough context to provide a good answer.

In this case the AI answer might be somewhat better for Mac. On Linux I have more often manually installed lsof than ss (iproute2). Maybe Mac provides the similar command netstat which is yet another tool to check ports

  netstat -nltp | grep -P ':8000\b'
Regarding available tools. Another very common Bash question is how to get the directory the executed script is located. A common answer involves `readlink -f` which (as far as I know) does not work on Mac (without extra steps).

¹ How to get current users name. Maybe whoami or id -un or logname or echo $USER or who -m or who am i (learnt this last one just today; apparently works with any combination of two arguments after 'who')

rpsw|3 years ago

No -p flag for netstat on Mac and -l has different purpose. Closest you can get is

  netstat -anv
And then you need to filter for LISTEN.

I'm sure there is a few ways to skin the cat, but on Mac the most equivalent to the ss command would probably be:

  sudo lsof -iTCP:8000 -sTCP:LISTEN -n -P

monkpit|3 years ago

Doesn’t seem like a huge stretch for the AI to check uname and see what system you’re on in order to clarify the answers.