如何让子进程每 5 秒暂停一次外部程序的执行?

2024-01-10

给定一个外部程序,在本例中是python target.py:

目标.py

import time, itertools
A = itertools.count()
while True:
    time.sleep(.1)
    print A.next()

我正在寻找一种运行该命令的方法,我们可以假设我除了启动和停止之外无法控制该命令 5 秒钟。那时,我想暂停执行(类似于control-Z在linux(我的目标平台)上,运行一些内部代码,然后继续执行子进程。到目前为止我已经

读者.py

import subprocess, signal, time

cmd = "python target.py"
P = subprocess.Popen(cmd,shell=True)

while True:
   time.sleep(5)
   signal.pause(P)  # Not the correct way to suspend P
   print "doing something"
   signal.wakeup(P) # What is called here?

您还可以使用 psutil 并避免看起来可怕的 os.kill:

import psutil, time, subprocess

cmd = "python target.py"
P = subprocess.Popen(cmd,shell=True)
psProcess = psutil.Process(pid=P.pid)

while True:
    time.sleep(5)
    psProcess.suspend()
    print 'I am proactively leveraging my synergies!'
    psProcess.resume()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让子进程每 5 秒暂停一次外部程序的执行? 的相关文章

随机推荐

  • 是否可以使用phoneGap在模拟器中显示动画gif图像

    我在android中使用phonegap框架工作 我的问题是动画gif图像在模拟器中不起作用 在浏览器中它工作正常 我的问题是动画图像不支持phonegap吗 我刚刚在设备和模拟器上测试了这一点 好消息是 它可以在设备上运行 但不能在模拟器
  • 使用 AutoHotKey 右键单击​​ Windows 10 中的托盘图标

    在 Windows 7 中 我有一个 AutoHotKey 脚本 可以自动右键单击托盘图标 Include A Scriptdir TrayIcon ahk TrayIcon Button CCC exe R 其中使用了 TrayIcon
  • 在iOS中录制视频时播放音频文件

    我想在用相机录制时播放音频文件 我使用 AVAudioPlayer 来播放音频 使用 AVCamCaptureManager 来录制 但是当音频开始播放时 预览屏幕冻结 我应该怎么办 感谢您的帮助 这是代码 我正在研究 AVCam 示例 这
  • SQL Server 树查询

    我需要一些帮助是 MS SQL Server 查询 我算不上一个 DBA 我有一个带有组织表的应用程序 该表由父子关系组成 CREATE TABLE dbo Organizations OrgPK int IDENTITY 1 1 NOT
  • 右键单击上下文菜单项是否有最大限制? [复制]

    这个问题在这里已经有答案了 我正在使用以下命令创建自定义右键单击子菜单 在 Windows 注册表中 SubCommands 但是在添加更多选项后 最后的一些选项消失了 允许携带的物品数量是否有上限 如果是这样 有没有办法解决 我使用的是
  • 使用 CSS 的文本突出显示(标签效果)

    我想创建类似于标签的文本样式 看这里 我几乎可以只使用以下方法来做到这一点 http jsfiddle net STApE http jsfiddle net STApE p display inline background yellow
  • Doxygen copydoc 标签可重用代码示例

    我想使用 copydoc 标签重用示例代码块 来解释一下问题 假设我有两个已记录的函数 Aquires resource Resource AquireResource int id Releases resource void Relea
  • Excel VBA:写入mysql数据库

    我想在 Excel 中编写一个宏来写入 mysql 数据库 有人可以让我开始做这个吗 您可以使用连接字符串和 ADO 连接到 MySQL http support microsoft com kb 246335 Set cn CreateO
  • 如何在R中循环并修改多个数据帧

    我有数据帧 A B C 并且想以相同的方式修改每个数据帧 例如对所有数据框中存在的因子的因子级别进行重新排序 A data frame x c x x y y z z B data frame x c x y z C data frame
  • 选中后如何正确使用 MUISwitch“栏”颜色的主题覆盖?

    仔细阅读后源代码 https github com mui org material ui blob master packages material ui src Switch Switch js我尝试了以下方法 它有效 但在控制台中生成
  • 从 URL 中删除特定参数,同时保留其他参数

    我想从 URL 中删除参数 linkExample1 https stackoverflow com name alaa counter 1 linkExample2 https stackoverflow com counter 4 st
  • AWS:如何在 S3 CORS 配置中允许多个域?

    我的许多依赖 S3 作为 Cloudfront 来源的网站都遇到了问题 但是 我在允许多个域 而不是全局域 方面遇到了问题 允许 我已按照文档进行操作here http docs aws amazon com AmazonS3 latest
  • 基于串行端口的 TCP/IP

    我正在尝试通过系统的串行端口之一设置网络接口 我正在使用 beaglebone 和 Xbee wifi 模块 基本上我正在尝试使用 TCP IP 协议通过串口 bu 与 2 beaglebone 进行通信 我需要通过 ssh telnet
  • 找出最大和第二大的数

    编写一个程序 输入一系列 10 个数字并找到这 10 个数字中的 2 个最大值 仅使用if和循环 有人可以帮我解决这个问题吗 我尝试过 但这是不对的 它无法列出第二大数字 任何帮助将不胜感激 include stdafx h include
  • HTML 5 下拉菜单和 JSF 2.2

    我正在尝试发送
  • Javascript - 从对象中删除未定义的字段[重复]

    这个问题在这里已经有答案了 有没有一种干净的方法可以从对象中删除未定义的字段 i e gt var obj a 1 b undefined c 3 gt removeUndefined obj a 1 c 3 我遇到了两种解决方案 each
  • C# - 获取随机文件的 Windows 关联

    在 C 中 我尝试获取用户选择的一些随机文件 并确定该程序的 Windows 关联 我想用它来向用户提供一些有关将运行的程序的有用信息 这是一个组合工具 可以将通用文件附加到记录中 1851520 https stackoverflow c
  • 使用没有 DatetimeIndex 但频率已知的 statsmodels.seasonal_decompose()

    我有一个时间序列信号 想在 Python 中分解 所以我转向 statsmodels seasonal decompose 我的数据频率为 48 每半小时 我遇到了同样的错误这位提问者 https stackoverflow com que
  • 使用 Java 进行 RSA 加密并使用 JavaScript 进行解密

    我正在尝试用 Java 加密 使用javax crypto Cipher 并用 JavaScript 解密 使用crypto subtle 我所做的是 让 JavaScript 端生成密钥对 然后通过以下方式将公钥发送到 Java 端 wi
  • 如何让子进程每 5 秒暂停一次外部程序的执行?

    给定一个外部程序 在本例中是python target py 目标 py import time itertools A itertools count while True time sleep 1 print A next 我正在寻找一