错误 QProcess:进程仍在运行时已被销毁

错误 QProcess:进程仍在运行时已被销毁

编辑: 我发现这个问题与下面引用的脚本无关,但我将其留在那里以供历史参考。

嗯,当我关闭 texstudio 时出现这个错误观察者打开(xdvi 或 evince)。如果我先关闭查看器,然后关闭 texstudio,没有问题,终端上没有错误。

这是错误:

QProcess: Destroyed while process is still running.

旧文本:每次当我在下面的脚本打开后关闭 texstudio 时,我都会在终端上收到此错误:

QProcess: Destroyed while process is still running.

这是脚本fastex.sh

#!/bin/sh

# Copyleft 2012 by Sigur

caminho=/home/$USER
file=$caminho/fastex-temp
exec 3>&1
exec > "$file".tex
printf '\\documentclass[11pt,a4paper]{amsart}\n' 
printf '\\usepackage{amsfonts,amsthm,amsmath,amssymb}\n' 
printf '\\usepackage[latin1]{inputenc}\n' 
printf '\\usepackage[T1]{fontenc}\n' 
printf '\usepackage{tikz}\n'
printf '\usepackage[brazil]{babel}\n'
printf '\n' 
printf '\\begin{document}\n' 
printf '\n'
printf '\\end{document}' 

linha=$(wc -l < "$file".tex)
texstudio --line $linha  "$file".tex
find . -name  "fastex-temp.*" | grep -vP '.tex$|.pdf$' | while read -r i; do rm $i; done

我猜问题出在find删除辅助文件的命令上。那么,find只有在我关闭texstudio后才执行吗?

谢谢你一会儿。最好的祝愿。

编辑 在此输入图像描述

答案1

我尝试了你的脚本,最新(2.4)版本没有问题,

如果您忘记在关闭程序主窗口之前终止 QProcess,您通常会收到此警告,我认为作者已经解决了该问题:

QProcess: Destroyed while process is still running.

texstudio 在启动时不会释放 pesudo tty,因此只有在 texstudio 退出后才会开始删除文件。

要删除文件,可以将其保存到一行:

find . -name "fastex-temp.*[^(tex|pdf)]" -exec rm {} \;

编辑

要测试上述命令是否正常工作,请复制并运行以下脚本:

DIR=$(mktemp -d) 
cd ${DIR}
touch fastex-temp.{aa,tex,pdf,bb}
find . -name "fastex-temp.*[^(tex|pdf)]" -exec rm {} \;

现在执行上面的命令,你会看到这里只剩下*.tex和*.pdf。

在此输入图像描述

相关内容