gpt4 book ai didi

python - 如何在 python 脚本中使用名称 ("Web Content"中的空格 pkill 进程

转载 作者:行者123 更新时间:2023-12-04 08:46:37 25 4
gpt4 key购买 nike

美好的一天,这应该是相当直截了当的,但我的谷歌搜索和实验不起作用。
我在 python 中有一个抓取脚本,它使用在 Ubuntu 18 服务器上运行的 Selenium/geckodriver/Firefox。有时它不能正确关闭,Selenium 会崩溃 midscript 但它会留下很多 Web Content进程打开。如果没有关闭,它们会耗尽所有内存,然后 selenium 将无法再打开并且脚本失败。
如果我从命令行运行:pkill 'Web Content'它将杀死这些进程并释放内存。
在我的 python 脚本中,我使用 subprocess模块尝试在 Selenium 崩溃时自动执行此操作。我尝试了多种选择,包括:

  • subprocess.call("pkill 'Web Content'".split())
  • subprocess.call("pkill 'Web\ Content'".split())
  • subprocess.call("pkill Web\ Content".split())
  • subprocess.call("pkill -f Web\ Content".split())

  • 所有这些都会抛出相同的错误: pkill: only one pattern can be provided然而,如果我做类似 subprocess.call("pkill firefox".split())代码能够无错误地运行。
    我必须怎么做才能解决这个问题?谢谢你。

    最佳答案

    自己手动拆分命令行可以显着简化整个问题。

    subprocess.run(['pkill', 'Web Content'], check=True)
    如果您确实需要 Python 来执行拆分, shlex.split()实现您假定 Python 的常规 split 的规则功能会服从。它没有;它只是在您提供的字符串上拆分,不支持转义等。

    关于python - 如何在 python 脚本中使用名称 ("Web Content"中的空格 pkill 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64283508/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com