- 主题:Qt程序更新后重启
Linux + Qt5
更新完后能自动重启,看到了UI 但:
1 再次退出时候,UI能够关掉,但Termial 必须再按 CTRL + C
2. 更新方法用mv myApp /usr/bin/myApp 会有问题吗?因为myApp仍然在运行中。
先谢谢大家的赐教!
部分代码
1更新:
QString src = "/tmp/myApp";
QString dest = "/usr/bin/myApp";
QString cmd = "pkexec sudo mv " + src + " " + dest;
QByteArray ba = cmd.toLocal8Bit();
const char *cmdmv = ba.data();
int ret = system(cmdmv);
2 重启
if( ret == 0 )
{
qApp->closeAllWindows();
qApp->quit();
QProcess::startDetached("/usr/bin/myApp", QStringList());
}
--
FROM 45.51.104.*
1. 为什么会有 terminal 呢?你的程序不是 GUI 的吗?
2. 可以的没问题。正在运行的程序可以被删除是 linux 的特性。
【 在 mbdbk (mbdbk) 的大作中提到: 】
: Linux + Qt5
: 更新完后能自动重启,看到了UI 但:
: 1 再次退出时候,UI能够关掉,但Termial 必须再按 CTRL + C
: ...................
--
FROM 112.47.122.*
运行我的程序是在terminal 输入 比如 ./myApp
【 在 hgoldfish 的大作中提到: 】
: 1. 为什么会有 terminal 呢?你的程序不是 GUI 的吗?
: 2. 可以的没问题。正在运行的程序可以被删除是 linux 的特性。
:
--
FROM 45.51.104.*
进程退出? 更新前后更新后各ps列出进程看看
另外你可以不用tmp文件再mv, 直接用QSaveFile即可
【 在 mbdbk (mbdbk) 的大作中提到: 】
: Linux + Qt5
: 更新完后能自动重启,看到了UI 但:
: 1 再次退出时候,UI能够关掉,但Termial 必须再按 CTRL + C
: ...................
--
FROM 119.123.133.*