From 9700e3592bc6d645146e75614670717a6d46400d Mon Sep 17 00:00:00 2001 From: Henry Vindin Date: Sun, 1 Jul 2018 15:32:46 +1000 Subject: [PATCH] Fixes #1075 Rather than trying to pick a utility, we should be able to just use bash to check if a port is available or not. We can probably assume bash is available due to the shebang declaring it. --- utils/launch.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/utils/launch.sh b/utils/launch.sh index 9e650e42..2007c858 100755 --- a/utils/launch.sh +++ b/utils/launch.sh @@ -70,11 +70,14 @@ while [ "$*" ]; do done # Sanity checks -which netstat >/dev/null 2>&1 \ - || die "Must have netstat installed" - -netstat -ltn | grep -qs ":${PORT} .*LISTEN" \ - && die "Port ${PORT} in use. Try --listen PORT" +if bash -c "exec 7<>/dev/tcp/localhost/${PORT}" &> /dev/null; then + exec 7<&- + exec 7>&- + die "Port ${PORT} in use. Try --listen PORT" +else + exec 7<&- + exec 7>&- +fi trap "cleanup" TERM QUIT INT EXIT