Fortran Coder

查看: 557|回复: 3
打印 上一主题 下一主题

[讨论] 关于SYSTEM函数的异步后台执行

[复制链接]

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
跳转到指定楼层
楼主
发表于 2023-11-27 23:48:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
call system('xxx.exe  aaa &')
调用外部exe, 但是同步执行, 即调用进程没有完成后不会返回.
想实现调用后立即返回, 但没有找到参数.

Matlab 中 system() 参数后面加 & 即认为是后台异步执行, 不会等待立即跳到下一语句.
在Fortran 里面参照 在参数字符串后面 加 &, 可是没有效果.

求助一下如何实现呢?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2023-11-28 08:16:23 | 只看该作者
本帖最后由 楚香饭 于 2023-11-28 08:19 编辑

call system('start xxx.exe  aaa ')
注意,这个 start 是 windows 提供的,而不是 Fortran

其实 Fortran 标准有提供更规范的写法,但需要较新的编译器才能支持。
call execute_command_line("xxx.exe  aaa",wait=.false.)

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
板凳
 楼主| 发表于 2023-11-28 09:35:27 | 只看该作者
楚香饭 发表于 2023-11-28 08:16
call system('start xxx.exe  aaa ')
注意,这个 start 是 windows 提供的,而不是 Fortran

谢谢, 已经解决, 其实就想实现 Fortran 自己调用本身 exe, 实现多进程
但发现好像多个本身exe 调用后, 屏显都在一个exe 里面, 其他N个exe没有显示出来

712

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
607 元
贡献
311 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2023-11-28 10:36:16 | 只看该作者
cqflhl 发表于 2023-11-28 09:35
谢谢, 已经解决, 其实就想实现 Fortran 自己调用本身 exe, 实现多进程
但发现好像多个本身exe 调用后, 屏 ...

你的想法可能用批处理实现更方便
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-30 02:08

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表