32 lines
629 B
Bash
32 lines
629 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
workdir="${1:-packages/gui}"
|
|
timeout_seconds=1800 # 30 minutes
|
|
|
|
echo "Starting npm run electron in $workdir with 30 minute timeout..."
|
|
|
|
cd "$workdir"
|
|
# don't exit for sandboxing issues
|
|
npm run electron --no-sandbox &
|
|
pid=$!
|
|
|
|
sleep $timeout_seconds &
|
|
|
|
sleep_pid=$!
|
|
|
|
wait $sleep_pid 2>/dev/null || true
|
|
|
|
if kill -0 $pid 2>/dev/null; then
|
|
echo "⏱ Electron run completed 30 minutes without error, terminating..."
|
|
kill $pid
|
|
sleep 5
|
|
if kill -0 $pid 2>/dev/null; then
|
|
kill -9 $pid
|
|
fi
|
|
echo "✅ 程序运行正常"
|
|
exit 0
|
|
else
|
|
echo "❌ 程序运行不正常"
|
|
exit 1
|
|
fi |