Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用QProcess在虚拟环境中启动和停止python脚本_Python_Qt_Virtualenv_Qprocess - Fatal编程技术网

使用QProcess在虚拟环境中启动和停止python脚本

使用QProcess在虚拟环境中启动和停止python脚本,python,qt,virtualenv,qprocess,Python,Qt,Virtualenv,Qprocess,我正在尝试从QT应用程序运行python脚本。此脚本需要在名为venv的virtualenv中运行。我可以启动脚本,但当我尝试.kill()时,脚本将一直运行,直到控制台窗口关闭。或者调用.terminate()只会让应用程序挂起,因为它永远不会正确完成。最低复制率低于 QProcess python; python.start( ".\\AdminConsole\\venv\\Scripts\\python " ".\\AdminCon

我正在尝试从QT应用程序运行python脚本。此脚本需要在名为
venv
的virtualenv中运行。我可以启动脚本,但当我尝试
.kill()
时,脚本将一直运行,直到控制台窗口关闭。或者调用
.terminate()
只会让应用程序挂起,因为它永远不会正确完成。最低复制率低于

QProcess python;
python.start( ".\\AdminConsole\\venv\\Scripts\\python "
              ".\\AdminConsole\\manage.py runserver 0.0.0.0:8000" );
python.waitForStarted();

python.kill();
python.waitForFinished();
printf( "Ended \n" );

return 0;
谢谢你的帮助

编辑
减少最小复制中的代码

程序是否正确执行?也许你可以通过stdin给程序一个命令,它会自动关闭。程序执行得很好。我需要能够在没有通信的情况下杀死它,以防程序没有响应可能此命令正在生成多个进程,而您只杀死其中一个进程。这似乎是有可能的,但是当父进程死亡时,它们应该在控制台关闭时死亡,而不是在父进程死亡时死亡。控制台可以是进程的父进程。
QProcess::program()
运行时的输出是什么?程序是否正确执行?也许你可以通过stdin给程序一个命令,它会自动关闭。程序执行得很好。我需要能够在没有通信的情况下杀死它,以防程序没有响应可能此命令正在生成多个进程,而您只杀死其中一个进程。这似乎是有可能的,但是当父进程死亡时,它们应该在控制台关闭时死亡,而不是在父进程死亡时死亡。控制台可以是进程的父进程。
QProcess::program()
运行时的输出是什么?