为什么起源进程在Qt-app中以僵尸身份开始。的Linux

铜杯

我正在使用Qt Creator在Linux上编写一个小型应用程序。当我启动我的应用程序时,我希望它执行一个shell命令。我正在像这样使用QProcess:

int main(int argc, char *argv[])

    {
        MyApplication a(argc, argv);

        QProcess mapProc(&a);

        QString command;
        QStringList args;

        command = "java";
        args << "-jar" << "/home/$USER/MapServer/map.jar" << "localhost" << "9797" << "12123";

        mapProc.start(command, args);

        bool flag  = mapProc.waitForStarted();
        QProcess::ProcessState state = mapProc.state();

        qDebug() << mapProc.errorString();
        qDebug() << mapProc.pid();


    /*/////////////////
    some code
    /////////////////*/

        return a.exec();
    }

但是当我的应用程序启动时,进程“ mapProc”变成了僵尸。为什么?我究竟做错了什么?

lpapp

$USER不会真的与那样工作QProcess您将需要通过以下命令调用命令,/bin/sh -c "mycmd"或者甚至更好地调用该命令,如果您按照以下指示的正确的Qt方式执行该命令

尝试使用QStandardPaths,因此编写以下代码:

QString homeLocation =
    QStandardPaths::standardLocations(QStandardPaths::HomeLocation);
args << "-jar" << QString(homeLocation.first() + "/MapServer/map.jar")
     << "localhost" << "9797" << "12123";

而不是这样:

args << "-jar" << "/home/$USER/MapServer/map.jar"
     << "localhost" << "9797" << "12123";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Linux

为什么存在僵尸进程?

来自分类Dev

为什么我不收获僵尸进程?(CentOS Linux,Python)

来自分类Dev

为什么Nginx以root身份启动进程?

来自分类Dev

为什么我不能使用此功能在Qt框架中打开另一个进程?

来自分类Dev

为什么Linux会杀死我的进程?

来自分类Dev

为什么在双叉中需要等待来删除僵尸进程?

来自分类Dev

为什么启动时会创建僵尸进程?

来自分类Dev

Git中的“起源”是什么?

来自分类Dev

什么是僵尸进程?

来自分类Dev

在Linux中,为什么在实时进程不退出的情况下正常进程仍可以运行?

来自分类Dev

为什么Go App要作为多个进程运行?

来自分类Java

为什么在Google App Engine上运行的进程会挂起?

来自分类Dev

为什么在Linux中进程名称以字母k开头?

来自分类Dev

为什么dotnet在Linux上产生多个进程?

来自分类Dev

为什么“开始调试”比VC2010中的“附加到进程”要慢得多?

来自分类Dev

为什么进程替换在Shell脚本中不起作用?

来自分类Linux

为什么fork()在子进程中返回0?

来自分类Dev

为什么 return 不退出 xv6 中的进程?

来自分类Dev

为什么SIGINT在脚本的后台进程中不起作用?

来自分类Dev

为什么进程ID在“ ps -l”的输出中更改?

来自分类Dev

为什么 Windows 8 中的进程是 32 位的?

来自分类Dev

在子进程中 fork() 后泄漏,为什么?

来自分类Linux

为什么父进程在Linux中被杀死后,子进程仍然存在?

来自分类Dev

为什么如果 execv 失败,进程会创建僵尸,但如果 execv 成功并终止则不会?

来自分类Dev

为什么子进程管道显示在具有不同管道详细信息的父进程中

来自分类Dev

为什么在python中退出主进程时子进程(daemon = True)没有退出?

来自分类Dev

为什么在进程启动的 server.js 中读取证书会导致进程终止?

来自分类Dev

为什么要从子 shell 启动后台进程/为什么要在 (someCommand &) 中添加括号?

来自分类Dev

Go中的os.StartProcess为什么将子进程的进程组ID设置为等于子进程pid

Related 相关文章

  1. 1

    为什么存在僵尸进程?

  2. 2

    为什么我不收获僵尸进程?(CentOS Linux,Python)

  3. 3

    为什么Nginx以root身份启动进程?

  4. 4

    为什么我不能使用此功能在Qt框架中打开另一个进程?

  5. 5

    为什么Linux会杀死我的进程?

  6. 6

    为什么在双叉中需要等待来删除僵尸进程?

  7. 7

    为什么启动时会创建僵尸进程?

  8. 8

    Git中的“起源”是什么?

  9. 9

    什么是僵尸进程?

  10. 10

    在Linux中,为什么在实时进程不退出的情况下正常进程仍可以运行?

  11. 11

    为什么Go App要作为多个进程运行?

  12. 12

    为什么在Google App Engine上运行的进程会挂起?

  13. 13

    为什么在Linux中进程名称以字母k开头?

  14. 14

    为什么dotnet在Linux上产生多个进程?

  15. 15

    为什么“开始调试”比VC2010中的“附加到进程”要慢得多?

  16. 16

    为什么进程替换在Shell脚本中不起作用?

  17. 17

    为什么fork()在子进程中返回0?

  18. 18

    为什么 return 不退出 xv6 中的进程?

  19. 19

    为什么SIGINT在脚本的后台进程中不起作用?

  20. 20

    为什么进程ID在“ ps -l”的输出中更改?

  21. 21

    为什么 Windows 8 中的进程是 32 位的?

  22. 22

    在子进程中 fork() 后泄漏,为什么?

  23. 23

    为什么父进程在Linux中被杀死后,子进程仍然存在?

  24. 24

    为什么如果 execv 失败,进程会创建僵尸,但如果 execv 成功并终止则不会?

  25. 25

    为什么子进程管道显示在具有不同管道详细信息的父进程中

  26. 26

    为什么在python中退出主进程时子进程(daemon = True)没有退出?

  27. 27

    为什么在进程启动的 server.js 中读取证书会导致进程终止?

  28. 28

    为什么要从子 shell 启动后台进程/为什么要在 (someCommand &) 中添加括号?

  29. 29

    Go中的os.StartProcess为什么将子进程的进程组ID设置为等于子进程pid

热门标签

归档