Windows下Bash脚本通过Plink串口连接PetaLinux后无法退出
问题解决:Windows下Bash脚本通过plink连PetaLinux串口后无法退出
你的核心问题是错误地在PetaLinux系统内尝试杀死plink进程——plink是Windows本地运行的程序,目标板上根本不存在这个进程,这操作完全无效,反而导致会话卡住无法退出。
给你一个能正常执行并退出的修改版本:
#!/bin/bash echo "Running board bring up script" BOARD_A_SERIAL_PORT="COM22" plink -serial "$BOARD_A_SERIAL_PORT" -sercfg 115200,8,n,1,X -batch <<EOF root root sleep 2 # 替换成你实际需要执行的目标命令 ps aux # 发送exit结束目标板的shell会话,plink会自动终止并返回本地脚本 exit EOF echo 'script successfully exited'
关键注意事项:
- 删掉所有
killall -9 plink、ps aux | grep plink这类无效命令——目标板上没有plink进程,查不到也杀不了。 - 只要在目标shell里执行
exit,就能正常结束串口会话,plink会自动终止并回到你的Bash脚本继续执行后续代码。 - 如果还是出现卡顿,试试在
exit前加sleep 1,给串口交互留足响应时间;或者用logout代替exit,适配不同的shell环境。 - 确保
-batch参数生效,plink会以非交互模式运行,执行完here-doc内的命令后自动退出。
内容的提问来源于stack exchange,提问作者GibberGabber
相关产品推荐
相关产品推荐

