Qt C++重新启动
Qt C++ restart itself
该应用程序内存泄漏,因此作为临时解决方案,我会检查它占用了多少内存,终止进程并重新启动该应用程序。
有什么简单的方法可以做到这一点吗?
谢谢
您应该修复内存泄漏。如果要重新启动应用程序,可以使用QProcess::startDetached
在新进程中运行应用程序实例并从中分离。之后,您应该退出应用程序。
这将重新启动您的应用程序:
QProcess process;
process.startDetached("myApp",QStringList());
qApp->quit();
此处myApp
是应用程序可执行文件的名称。在Windows上可以 myApp.exe
。
您可以覆盖 new 和 delete 以保留程序的分配统计信息,然后在根据可用 mem 达到阈值时,abort()。 然后在外部脚本中,您可以重新启动。
另请参阅出色的gimli监视器,在这里:https://bitbucket.org/wez/gimli/wiki/Monitor
要自行重新启动应用程序,请尝试:
#include <QApplication>
#include <QProcess>
...
// restart:
qApp->quit();
QProcess::startDetached(qApp->arguments()[0], qApp->arguments());
相关文章:
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 如何使用 ctypes 停止和重新启动从 Python 运行的C++代码
- 重新启动后,线程无法在 while 循环中再次运行
- 在程序和基于文本的游戏和C++内重新启动程序
- 在程序/基于文本的游戏/C++内重新启动程序
- 为什么使用 exec() 重新启动程序不能正常工作?
- 即使在我关闭应用程序并重新启动它后,如何保持我的 ID 被阻止?
- 有没有办法在不重新启动或注销的情况下加载游标?
- IO服务重新启动后,Boost最后期限计时器持续触发
- 在C++中重新启动随机数序列
- 稍后在构造函数中重新启动异常指令删除此指令
- 如何获取代码::块以在代码::块重新启动后保持库的配置?
- 我想在我设置的几秒钟后重新启动我的程序
- 如何使重新启动此循环,当用户输入 1 时,并在 0 时停止
- UDP 服务器每 5 秒重新启动一次
- 有没有办法检查内存缓存是否已重新启动?
- (Windows 10) 在不更新的情况下重新启动C++
- Live555MediaServer 在每个新连接时重新启动流。为什么将"reuseSource"设置为 true 无法按预期工作?
- OpenGL和SFML时钟未正确重新启动
- 无论如何,是否可以确定MFC应用程序是通过PC重新启动或用户单击应用程序快捷方式开始的