相关疑难解决方法(0)

向进程组的所有成员发送信号的最佳方法是什么?

我想杀死整个进程树.使用任何常用脚本语言执行此操作的最佳方法是什么?我正在寻找一个简单的解决方案.

linux shell signals process

409
推荐指数
16
解决办法
37万
查看次数

使用 pytest 进行测试时,如何使用 >= 2 的工作人员干净地终止 Uvicorn + FastAPI 应用程序

我有一个用 Uvicorn + FastAPI 编写的应用程序。我正在使用 PyTest 测试响应时间。

参考如何在使用 PyTest 进行测试时在后台启动 Uvicorn + FastAPI,我编写了测试。然而,当工人> = 2时,我在完成测试后发现应用程序进程处于活动状态。

我想在测试结束时干净地终止应用程序进程。

你有什么主意吗?

详情如下。

环境

图书馆

  • 快速 API == 0.68.0
  • 紫角兽 == 0.14.0
  • 请求==2.26.0
  • pytest==6.2.4

示例代码

python pytest fastapi uvicorn

9
推荐指数
1
解决办法
9872
查看次数

Python 子进程终止并超时

我正在使用 python 中的 subprocess 模块运行一些 shell 脚本。如果 shell 脚本运行时间过长,我喜欢终止子进程。我认为如果我将 传递timeout=30给我的run(..)陈述就足够了。

这是代码:

try:
    result=run(['utilities/shell_scripts/{0} {1} {2}'.format(
                        self.language_conf[key][1], self.proc_dir, config.main_file)],
                shell=True,
                check=True,
                stdout=PIPE,
                stderr=PIPE, 
                universal_newlines=True, 
                timeout=30,
                bufsize=100)
except TimeoutExpired as timeout:
Run Code Online (Sandbox Code Playgroud)

我已经用一些运行 120 秒的 shell 脚本测试了这个调用。我预计子进程会在 30 秒后被终止,但实际上该进程正在完成 120 秒的脚本,然后引发超时异常。现在的问题是如何通过超时终止子进程?

python subprocess

2
推荐指数
1
解决办法
7376
查看次数

标签 统计

python ×2

fastapi ×1

linux ×1

process ×1

pytest ×1

shell ×1

signals ×1

subprocess ×1

uvicorn ×1