【发布时间】:2024-05-05 02:00:01
【问题描述】:
我目前有一个 Python 程序,它像这样批量调用 MATLAB 脚本:
matlab = QProcess()
matlab.start('matlab -noFigureWindows -batch "cd(users/script_directory/); MyScript.m;"')
#^ command to start MATLAB batch process in CMD
我遇到的问题是,一旦这个批处理过程开始,就没有办法杀死它。因此,如果我的 Python 应用程序被强制关闭,MATLAB 脚本会继续运行并导致各种问题,这意味着我需要在应用程序关闭时终止该进程。
我将 MATLAB 脚本作为 QProcess 调用,当我在 MATLAB 脚本完成执行之前强制关闭 Python 应用程序时收到以下消息:
QProcess: Destroyed while process ("matlab") is still running.
有了这个,我如何停止批处理 MATLAB 进程?在 CMD 中使用 'ctrl-c' 有时可以杀死进程,但我需要它保持一致才能使 Python 正常工作。
同样,我可以让它“强制退出”或“重新启动”批处理 MATLAB 或类似的任何东西来清除所有正在运行的进程吗?
【问题讨论】:
-
如果从命令行启动,通常如何终止显示的 matlab 批处理命令?
标签: python matlab qt pyqt qprocess