Subprocess.Popen 几秒钟后停止(或发生故障)

2023-12-19

我是一个完全的初学者,所以对任何错误表示歉意。这是我在 Python 3.5 中的代码。它在 Raspberry Pi 3 上以 Raspbian 执行。

import subprocess

radio = subprocess.Popen(["mplayer", 'http://edge-bauerabsolute-02-gos1.sharp-stream.com/absolute90s.mp3?'], shell = False , stdout=subprocess.PIPE)

print ("Other code - no waiting for the subprocess to finish")

收音机播放约 30 秒,然后停止。我希望它在后台运行,而无需脚本等待子进程结束。另外,在 Linux 中,如果我停止脚本,收音机会作为 mplayer 的运行进程再次返回(所以 python 脚本一定以某种方式停止它?)

似乎子进程仍在继续,但音乐/声音停止了。它似乎与互联网连接无关,而且如果我等待它也不会再次启动。我尝试过执行 radio.communicate() 或 radio.stdout.read() ,这很有趣,可以让我的收音机连续播放,但不会继续脚本。我没有任何输出,脚本只是有效。

问题:当脚本执行其他操作时,如何允许“广播”进程在后台继续(同时播放音乐)?


幸运的是我自己解决了。 subprocess.PIPE 显然停止/干扰了进程,所以我没有像 stdout=subprocess.PIPE 那样完成 DEVNULL :

DEVNULL = open(os.devnull, 'wb')
radiostream = subprocess.Popen(["mplayer", 'http://edge-bauerabsolute-02-gos1.sharp-stream.com/absolute90s.mp3?&'], shell = False, stdout=DEVNULL, stderr=DEVNULL)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Subprocess.Popen 几秒钟后停止(或发生故障) 的相关文章

  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的
  • NLTK:查找单词大小为 2k 的上下文

    我有一个语料库 我有一个词 对于语料库中该单词的每次出现 我想获取一个包含该单词之前的 k 个单词和该单词之后的 k 个单词的列表 我在算法上做得很好 见下文 但我想知道 NLTK 是否提供了一些我错过的功能来满足我的需求 def size

随机推荐

  • 数千个多边形和 IE JavaScript 语句限制

    我正在编写一个应用程序 需要一次显示多达 4000 个多边形 其中一些具有数百个坐标 每个多边形都需要一个事件mouseover mouseout and doubleclick以及信息框标签 我最初遇到了 IE 8 中 JavaScrip
  • 为什么某些 HTML 元素可以使用 CSS 设置样式,但不能使用属性

    当我滚动浏览一些w3学校 https w3schools com我遇到了关于的文档部分inline元素和一个我以前从未真正思考过的问题 文档说如下 内联元素 An inline元素不会从新行开始 并且只占用所需的宽度 a a
  • 当子视图与 AVPlayer 重叠时移动字幕

    如果子视图 非本机 自定义播放器控件 出现在视频显示的系统标题上方 是否可以更改视频显示的系统标题 显示的字幕是文本 WebVTT 字幕 在某些屏幕尺寸上 当我切换到横向时 我们的自定义搜索栏控件会重叠显示在播放器底部的字幕 对于它的价值来
  • Angular Modal 服务不会使背景变灰

    我在 plunkur 有以下样本单击此处打开链接 http plnkr co edit GbeJbwwhwcs7plniPYth p preview var app angular module App ui bootstrap try a
  • 如何使用 AWSMobileClient 设置不同的配置 (awsconfiguration.json) 以进行调试和发布构建类型

    我想要不同的配置debug and release构建 所有配置都存储在里面awsconfiguration json 例如我有两个不同的配置文件 如何设置应使用哪个文件 使用时AWSMobileClient getInstance 它从文
  • Spring data jpa - 在执行前修改查询

    我正在开发一个在数据库中保存一些访问控制信息的项目 我们使用该访问控制信息来过滤用户可以看到的内容 我们使用的过滤器基于用户拥有的角色 我们希望使用 Spring Data 提供的存储库抽象 但我们希望能够在执行生成的查询之前对其进行调整
  • 使 Android Textview 或 EditText 可选择

    我要实现EditText or Textview在我的android项目中可以选择 项目适用于 android 4 0 我添加这个 txtView setTextIsSelectable true 并且 txtView setCustomS
  • 在 Python 中创建自签名 X509 证书

    我跟着this url https web archive org web 20161107073715 http blog richardknop com 2012 08 create a self signed x509 certifi
  • 彩色 Git diff 到 HTML

    我喜欢使用git diff color words要清楚地看到文件中已更改的单词 不过 我想与没有 git 或彩色终端的人分享这个差异 那么有人知道可以转换的工具或技巧吗颜色转义终端输出转换为 HTML wget http www pixe
  • 如何从 ASP.NET 页面获取当前登录的 Windows 帐户?

    我有一个使用 ASP NET 表单身份验证的 ASP NET 3 5 应用程序 我希望在页面中编辑数据时能够获取当前登录到计算机的 Windows 用户名 不是登录到 ASP NET 应用程序 而是登录到 Windows 如果我使用Cont
  • 如何在 Spring Boot 应用程序中使用 Thymeleaf 加载 HashMap 和 ModelandView 对象值?

    对于 Spring boot 应用程序 我无法使用 Thymeleaf 从 HTML 文件加载浏览器中的输入和实例值 下面是控制器 java 文件中的代码片段 RequestMapping value x public String lau
  • 验证 OpenSSL 0.9.8a 中的 RSA 签名

    我正在开发一个基于 OpenSSL 版本 0 9 8a API 的应用程序 我需要使用 RSA 公钥验证 RSA 签名 4096 位 RSA 密钥 pubkey 这是我的代码 const EVP MD md EVP get digestby
  • jQuery addClass() 添加到append() 之后生成的元素

    我正在尝试将一个类添加到新附加的 DIV 中 而不使用以下内容 t y append div class div 这是我正在尝试做的一个更好的例子 var t this this x each function i obj append n
  • 狗年到人年,反之亦然[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试这个示例问题 我必须创建两个隐式转换运算符才能从人类创建 Doggy 类 反之亦然 这些课程需要考虑到人类的一岁是狗的七岁这一事实
  • 将 log4j2 与 slf4j 一起使用:java.lang.StackOverflowError

    所以我尝试过以下this https stackoverflow com questions 25386651 slf4j log4j2 maven setup query 非 Maven 实现 及其要求web site https log
  • MySQL - 在 where 子句中引用聚合列

    这看起来很简单 但我似乎无法在不执行子查询的情况下弄清楚它 这似乎会显着减慢查询速度 需要几乎 10 秒而不是 假设我有一个已发送文档表 我想选择自上次发送以来已更新的文档以及从未发送过的文档 SELECT d document id ma
  • 有人可以更好地解释解码器/编码器吗?

    修改后的问题 好的 所以我正在尝试将其合并到我自己的定制游戏中 我了解了Netty服务器和客户端如何连接的过程 我还了解解码器和编码器在理论上是如何工作的 但这是我仍然想了解的 我的服务器进程 Server boots up gt Clie
  • 如何使哈希键查找不区分大小写?

    显然 哈希键以区分大小写的方式进行比较 perl e hash FOO gt 1 printf s n exists hash foo Yes No No perl e hash FOO gt 1 printf s n exists has
  • 记录应用程序块 - 记录调用者

    使用 Log4Net 进行日志记录时 很容易将调用日志的类放入日志文件中 我过去发现这使得跟踪代码和查看类的流程变得非常容易 在 Log4Net 中 我在转换模式中使用 logger 属性 如下所示
  • Subprocess.Popen 几秒钟后停止(或发生故障)

    我是一个完全的初学者 所以对任何错误表示歉意 这是我在 Python 3 5 中的代码 它在 Raspberry Pi 3 上以 Raspbian 执行 import subprocess radio subprocess Popen mp