加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows脚本自动更新用exec替换当前可执行文件?

发布时间:2020-12-14 04:12:48 所属栏目:Windows 来源:网络整理
导读:我正在尝试在Perl Windows中构建一个快速自动更新程序.我注意到当我调用cpanp来安装软件包的更新时,由于脚本当前正在运行,因此无法安装新版本的脚本.我现在用CORE :: system()调用cpanp.如果我用exec()调用cpanp会释放可替换的可执行文件吗?或者,即使执行已
我正在尝试在Perl Windows中构建一个快速自动更新程序.我注意到当我调用cpanp来安装软件包的更新时,由于脚本当前正在运行,因此无法安装新版本的脚本.我现在用CORE :: system()调用cpanp.如果我用exec()调用cpanp会释放可替换的可执行文件吗?或者,即使执行已完全转移到cpanp,Windows是否仍保持捆绑?

目前,我的流程看起来像这样,

>从服务器下载META.yml
>解析出META.yml的版本
>与当前的$VERSION进行比较

>如果当前版本较低,请使用META.yml中的数据生成版本字符串

>使用META.yml的主机/路径和版本/数据信息生成要打包的URL
>通知用户更新
> Spawn cpanp用URL运行更新.

>如果当前版本相同

>什么都不做

在更换可执行文件时,system()在Win32上的行为会不同于exec()吗?在Linux上它按设计工作.

我刚试过它. exec在Linux和Win32上都能正常工作. See this page for portability info on Perl.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读