QProcess::startDetached shell 在父进程死亡时被杀死,如果父进程是一个 systemd 服务
Posted
技术标签:
【中文标题】QProcess::startDetached shell 在父进程死亡时被杀死,如果父进程是一个 systemd 服务【英文标题】:QProcess::startDetached shell is killed when the parent died if the parent is a systemd service 【发布时间】:2020-12-07 15:40:10 【问题描述】:我正在使用为 pi4 交叉编译的 Qt 5.12.5,如果我将 Qt 程序作为 systemd 服务启动,QProcess::startDetached 将无法正常工作,同时如果它从 shell 启动则按预期工作。
【问题讨论】:
【参考方案1】:遗憾的是,QT 按预期工作;它的 systemd 运行良好并关闭了整个(隐藏的)进程树。
看一下systemd服务killmode的配置;您也可以尝试从树中强制分离生成的进程。
【讨论】:
以上是关于QProcess::startDetached shell 在父进程死亡时被杀死,如果父进程是一个 systemd 服务的主要内容,如果未能解决你的问题,请参考以下文章
PyQt4 QProcess.startDetached() - 无法获得衍生进程的返回值和 PID
QProcess::startDetached(5.10有了一种新的方式)
QProcess::startDetached shell 在父进程死亡时被杀死,如果父进程是一个 systemd 服务