You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 5.1中plink远程升级后主机重启致脚本挂起的解决方法

解决plink执行远程升级后无限等待的问题

针对你用PowerShell+plink执行远程升级后,主机重启导致plink无限等待的问题,给你几个实用的解决办法:

方法1:让远程命令后台执行,plink立即退出

修改远程执行的命令,把升级命令放到后台运行,这样plink发送完命令后会直接断开连接,不用等待命令完成(包括重启)。示例:

$command = "nohup 你的升级命令 > /dev/null 2>&1 &"
plink -ssh $_ -l $user -pw $password -T -batch $command
  • nohup 确保命令在plink断开后仍能继续执行
  • > /dev/null 2>&1 屏蔽输出,避免阻塞
  • & 让命令在后台运行

方法2:用PowerShell的Start-Process设置超时

通过Start-Process启动plink,并指定超时时间,到点自动终止plink进程,继续执行后续脚本:

Start-Process -FilePath "plink.exe" `
  -ArgumentList "-ssh $_ -l $user -pw $password -T -batch $command" `
  -NoNewWindow `
  -Wait `
  -Timeout 300  # 超时时间,单位秒,这里设为5分钟

这个方法适合无法修改远程命令的场景,强制限制plink的运行时间。

方法3:利用plink的连接超时参数

plink的-w参数可以设置连接超时时间,当主机重启导致连接断开后,plink会在超时后自动退出:

plink -ssh $_ -l $user -pw $password -T -batch -w 300 $command

注意这个参数是控制连接阶段的超时,如果命令已经发送成功,主机重启后连接中断,plink可能需要等这个超时时间才会退出,效果类似方法2,但优先级低于Start-Process的超时控制。


内容的提问来源于stack exchange,提问作者Fabian Hagedorn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:27:06