QProcess 直接执行Program files(x86)目录下的bat脚本失败,wait
执行 脚本 目录 失败 直接 bat Files WAIT
2023-09-14 09:07:36 时间
用QProcess执行一个服务的重启脚本,重启服务;发现Program files(x86),QProcess识别不了目录
后来采用了替代的方法,用cmd.exe传bat脚本路径去执行;
void AlgorithmConfig::SlotRestartService() { if (m_iHmsNum + m_iDfrNum + m_iGaitNum > m_iTotalNum) { QMessageBox::warning(NULL, "提示", "芯片分配数量大于总数量,请重新分配!"); return; } m_strConfPath = QCoreApplication::applicationDirPath() + "/aianaservice/config.ini";// QProcess* process = new QProcess(); process->setWorkingDirectory(QCoreApplication::applicationDirPath()); QString commed = QCoreApplication::applicationDirPath() + "/aianaservice/restart.bat";// commed=commed.replace("/", "\\"); QFileInfo info(commed); if (!info.exists()) { QMessageBox::warning(NULL, "提示", "重启服务脚本不存在:"+ commed); return; } process->start("cmd.exe", QStringList()<< "/c" << QString("%1").arg(commed)); //process->start(commed);//Program files(x86)路径下执行失败,waitforfinished返回false; bool started=process->waitForStarted(); started=process->waitForFinished(-1); delete process; if (started) { QMessageBox::information(NULL, "提示", "重启成功!请等待3分钟,等服务器重新启动!"); } else { QMessageBox::warning(NULL, "提示", "重启失败"); } }
相关文章
- linux下设置定时执行脚本「建议收藏」
- Linux脚本以某个用户的身份执行
- 任务执行模型ACT-1,你的贴心小管家
- Apache 通过CGI执行脚本
- ReactDOM.render在react源码中执行之后发生了什么?
- 深入理解JS作用域链与执行上下文_2023-02-23
- shell 脚本里启动多进程执行详解程序员
- 编排Linux SH脚本编排实战(linuxsh执行)
- Linux执行Perl脚本:一步一步指导(linux执行perl)
- Linux下运行.exe文件的方法(linux执行exe文件)
- Linux执行CMD:轻松掌握运行指令的方法(linux执行cmd)
- 如何执行执行Linux下的Jar文件(linux下jar文件)
- 在lighttpd中执行ruby脚本找不到依赖的fcgi库
- Ruby中循环引用导致lighttpd中的ruby fcgi脚本执行失败(Mac OS)
- 运用 Linux 脚本执行自动化任务(linux脚本执行)
- “提升Linux系统执行效率:设置超时时间”(linux设置超时)
- 脚本批处理:自动执行MySQL脚本(.bat执行mysql)
- MySQL 定时备份:自动执行脚本(mysql定时备份脚本)
- Linux下执行.sh脚本的正确姿势(linux 运行 .sh)
- MSSQL脚本:自动执行实现节约时间(mssql脚本自动执行)
- Linux脚本如何快速轻松执行(linux脚本怎么执行)
- MySQL脚本在C语言中的执行(c 中mysql执行脚本)
- 用CMD执行MySQL数据导入(cmd执行mysql导入)
- MySQL实现一次性执行多条SQL语句的方法(mysql一次多条语句)
- 解读MySQL多重查询的执行方法与技巧(mysql一执行多条查询)
- SQL语句的方法(mysql一次执行多条)
- Html中JS脚本执行顺序简单举例说明