Skip to content

Commit 8da34b6

Browse files
committed
refactor: Reorganize scripts and improve shell module
1 parent 299d972 commit 8da34b6

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
cargo version
4242
export DISK_IMG="${{ github.workspace }}/disk-aarch64.img"
4343
export VM_CONFIGS="$(pwd)/configs/vms/nimbos-aarch64-qemu-smp1.toml"
44-
./auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs,ept-level-4 --arceos-args DISK_IMG=$DISK_IMG,BUS=mmio,BLK=y,MEM=8g
44+
./scripts/auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs,ept-level-4 --arceos-args DISK_IMG=$DISK_IMG,BUS=mmio,BLK=y,MEM=8g
4545
4646
aarch64-generic-phytiumpi:
4747
runs-on: [self-hosted, linux, phytiumpi]
@@ -135,4 +135,4 @@ jobs:
135135
cargo version
136136
export DISK_IMG="${{ github.workspace }}/disk-x86_64.img"
137137
export VM_CONFIGS="$(pwd)/configs/vms/nimbos-x86_64-qemu-smp1.toml"
138-
./auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs --arceos-args DISK_IMG=$DISK_IMG,BLK=y
138+
./scripts/auto_interrupt.sh ./axvisor.sh run --plat ${{ matrix.plat }} --vmconfigs $VM_CONFIGS --features fs --arceos-args DISK_IMG=$DISK_IMG,BLK=y

auto_interrupt.sh renamed to scripts/auto_interrupt.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,19 @@ COMMAND=("$@")
1010
echo "执行命令: ${COMMAND[*]}"
1111

1212
"${COMMAND[@]}" 2>&1 | while IFS= read -r line; do
13-
echo "输出: $line"
13+
echo "$line"
1414

1515
if [[ "$line" == *"[OK] Default guest initialized"* ]]; then
16-
echo "检测到Shell就绪信号!发送中断信号..."
17-
18-
PROCESS_NAME=$(basename "${COMMAND[0]}")
19-
PIDS=$(pgrep -f "${COMMAND[0]}")
20-
21-
for PID in $PIDS; do
22-
echo "发送 SIGINT 到进程 $PID"
23-
kill -INT "$PID" 2>/dev/null
16+
echo "检测到完成信号,退出中..."
17+
18+
sleep 2
19+
20+
pgrep -f "qemu" 2>/dev/null | while read pid; do
21+
echo "kill -9 $pid"
22+
kill -9 "$pid" 2>/dev/null || true
2423
done
24+
25+
pkill -9 -f "${COMMAND[0]}" 2>/dev/null
2526

2627
break
2728
fi

src/shell/mod.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
mod command;
22

3-
use std::time::{Duration, Instant};
43
use std::io::prelude::*;
54
use std::println;
65
use std::string::ToString;
@@ -45,9 +44,7 @@ pub fn console_init() {
4544
let mut temp_buf = [0u8; 1];
4645

4746
let ch = match stdin.read(&mut temp_buf) {
48-
Ok(1) => {
49-
temp_buf[0]
50-
}
47+
Ok(1) => temp_buf[0],
5148
_ => {
5249
continue;
5350
}

0 commit comments

Comments
 (0)