【发布时间】:2015-09-16 01:13:09
【问题描述】:
我有一个 Fortran 程序,它对许多不同的输入数据运行一系列相同的计算。完成这些计算后,代码总是会编写一个 GNUplot 脚本来进行一些诊断绘图(没什么难度),并在 Linux 中使用execute_command_line 运行它。
这通常效果很好,但一段时间后我认为一定有某种累积的内存泄漏,因为 GNUplotting 变得越来越慢。在某些时候,它实际上会停止。
因此我的问题是:是否可以使用键盘中断对execute_command_line 的调用而不杀死主 Fortran 程序?不用说,CTRL-C 杀死一切,这不是我想要的:我希望主程序继续运行。
我一直在使用可选标志 wait=.true. 但这没有帮助。
另外,我知道必须修复内存泄漏(或任何原因),但现在我想先看看诊断输出。
【问题讨论】:
-
我怀疑 OP 的意思。顺便说一句,暂停是一项已删除的功能。
-
见stackoverflow.com/questions/26540044/… 你必须在主程序中捕获信号。
-
我创建了一个示例,但我无法对其进行测试,因为在我的 shell 中它根本不会终止主程序?您使用哪种操作系统和外壳?