File: local-server.sh

package info (click to toggle)
chromium 139.0.7258.127-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 6,122,156 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (68 lines) | stat: -rwxr-xr-x 1,627 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/bash

# Copyright 2022 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

for i in "$@"; do
  case $i in
    -h|--help)
    echo "Starts a local server for V8's system anaylizer"
    echo "It's accessible http://localhost:8000"
    echo "Note: The server also exposes local binary information via 'nm'"
    exit;
  ;;
    *)
    echo "Invalid option: $i"
    exit 1;
  ;;
  esac
done

if ! npm list local-web-server > /dev/null; then
    echo "'ws' not found!"
    echo "Please install local-web-server:"
    echo "npm install local-web-server"
    echo ""
    exit
fi

TOOLS_DIR=`readlink "$0"` || TOOLS_DIR="$0";
TOOLS_DIR=`dirname "$TOOLS_DIR"`;
cd "$TOOLS_DIR/.."
TOOLS_DIR=`pwd -P`

# Check if port 8000 is in use
if [[ "$OSTYPE" == "msys" ]]; then
  if netstat -ano | findstr :8000 > /dev/null; then
    echo "localhost:8000 is already in use. You can kill it with:"
    echo "netstat -aon | findstr :8000"
    echo "taskkill /PID <PID>"
    exit 1
  fi
else
  if lsof -t -i TCP:8000; then
    echo "localhost:8000 is already in use. You can kill it with:"
    echo "lsof -t -i TCP:8000 | xargs kill"
    exit 1
  fi
fi

echo "Starting local symbol server"
npm run start-webserver -- \
  --stack $TOOLS_DIR/system-analyzer/lws-middleware.js \
  lws-static \
  lws-cors \
  lws-index & PID=$!

# Kill server after 1h
for i in `seq 3600`; do
  if ps -p $PID > /dev/null 2>&1; then
    sleep 1;
  fi
done

if ps -p $PID > /dev/null 2>&1; then
  echo "Automatically killing the local server after timeout"
  kill $PID
fi