带有子进程的 find 命令在 Shell=True 的情况下不起作用

2023-12-01

我的代码中有以下几行。我嵌入了一小行,用于获取超过 10 分钟的文件列表。我的子流程失败了,几乎没有错误。当我给出 Shell=True 时,它​​似乎有效,但我读到使用该选项是非常危险的,而且我对 Python 很陌生,不想搞乱我不理解的东西。我尝试过更改 find 语句中及其周围的引号,但这对我没有帮助。您能建议我如何使用 find 命令获取文件列表吗? 我已经使用这些 find 和 subprocess 组合研究了其他问题,但没有找到任何通配符目录匹配。我找不到解决方案。

cmd = 'find /myapp/uat/aws/6.3/domains/*/appnodes/*/*/log/bwappnode.log -type f -mmin +10'

 apps_in_proc = subprocess.Popen(cmd,stdout=subprocess.PIPE, universal_newlines=True)

如果它适用于shell=True,而不是没有,这意味着该模式扩展为shell=True.

要模拟这种行为只需使用glob.glob并像这样编写命令参数列表:

cmd = ['find'] + glob.glob('/myapp/uat/aws/6.3/domains/*/appnodes/*/*/log/bwappnode.log') + ['-type','f','-mmin','+10']

可以很容易地用纯Python编写:

import glob,os,time
current = time.time()
old_files = [x for x in glob.glob("/myapp/uat/aws/6.3/domains/*/appnodes/*/*/log/bwappnode.log") if current - os.path.getmtime(x) > 600]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有子进程的 find 命令在 Shell=True 的情况下不起作用 的相关文章

随机推荐

  • p:fileUpload 在哪里保存我的文件?

    我的页面上有一个 p fileUpload 函数 每次上传文件时 我似乎都无法在 web xml 文件中指定的文件夹中找到它 我已将以下 jar 添加到我的库中 primefaces 3 2 jar commons io 2 3 jar c
  • SVG tspan 未与 text-anchor="end" 对齐的问题

    我有一些这样的代码 svg font family Verdana sans serif color 000 key font size 75 overflow visible caphgh font weight bold keynor
  • 这段代码的作用是什么?

    我不太确定这意味着什么或它在做什么 有人可以详细说明吗 Player player Player sender 它获取发送者引用的对象 并尝试将其转换为 Player 类型 Java 对象是强类型的 这意味着您必须声明对象的类型 如果发送者
  • 如何在 TFS 中反序列化和序列化构建过程参数

    我正在尝试使用 TFS 2013 API 创建新的构建定义 我必须引用的流程模板包含几个自定义活动和参数 创建构建定义时 一些属性值需要动态更新 所以我尝试使用以下代码反序列化过程参数 IDictionary
  • 多个自定义滚动条

    我想知道的是是否可以在同一页面上有多个定制的 webkit scrollbars 我制作了一些特定的 div 颜色 例如一个 div 有绿色文本和图像 另一个有蓝色等 所以我想为每个 div 制作一个自定义滚动条 使其与颜色匹配 Q1 可以
  • 如何使用 Google 脚本将日历事件复制(复制)到另一个日历中?

    我在 Google 日历中有几个日历 我正在学习 Google 脚本 并希望创建一个脚本 将事件从我的一个日历复制到另一个日历 并有机会修改参数 例如重复发生 一些代码开始 function myFunction var calendarS
  • 检查列表列表中是否存在某个项目的最佳方法? [复制]

    这个问题在这里已经有答案了 我有这样的示例列表 example list aaa fff gg ff gg 现在 我检查它是否有空字符串 如下所示 has empty False for list1 in example list for
  • bash: /bin/myscript: 权限被拒绝

    我已将文件夹的路径添加到 linux mint 15 中的 bashrc 其中包含我的脚本 据我所知 我的脚本应该像 bash 脚本一样工作 但每次我尝试使用我的脚本之一时 都会出现以下错误 bash bin myscript permis
  • iPhone Facebook Graph API 库

    是否存在使用新 Facebook Graph API 的 iPhone 库 这个库很棒 http www capturetheconversation com technology iphone facebook oauth 2 0 and
  • 处理响应 - SyntaxError:使用模式时出现意外的输入结束:“no-cors”

    我尝试了对 REST API 的 ReactJS 获取调用 并希望处理响应 调用成功 我收到响应 我可以在 Chrome 开发工具中看到该响应 function getAllCourses fetch http localhost 8080
  • MySQL 非主键自增

    我想知道是否 如何可以为每个主键设置第二列自动增量 CREATE TABLE test id INTEGER UNSIGNED NOT NULL subId INTEGER UNSIGNED NOT NULL AUTO INCREMENT
  • 扩展方法和动态对象

    我将把我的问题总结为以下代码片段 List
  • 仅限于 N 元解的背包算法

    这段摘自 CRAN 文档的 adagio 函数 knapsack 的功能符合预期 它用利润向量解决了背包问题p 权重向量w 和容量cap 在所选元素的总权重不超过容量的约束下 选择利润最大的元素子集 library adagio p lt
  • WooCommerce - 在购物车页面上取消设置“<产品> 删除通知...”

    动作和过滤器 在我的 WooCommerce 网站上 当我从购物车中删除产品时 我收到以下消息
  • 快速替换 NA - 错误或警告

    我有一个名为 mat 的大 data frame 包含 49952 个 obs 7597 个变量 我正在尝试用零替换 NA 这是我的 data frame 的示例 A B C E F D Q Z 1 1 1 0 NA NA 0 NA NA
  • SonarQube:自创建以来未进行任何分析。唯一可用的部分是配置

    我是 SonarQube 新手 我通过 sonar eclipse plugin 在 eclipse 中运行分析 但在远程服务器上 它显示 自创建以来未进行任何分析 唯一可用的 部分是配置 如何在服务器上看到分析结果 这意味着您有配置您的项
  • sendto:资源暂时不可用(errno 11)

    我在使用 sendto 时遇到问题 我有一个接收者 它使用recvfrom接收UPD数据包 然后使用sendto回复发送者 不幸的是 我收到 errno 11 资源暂时不可用 我正在使用两个套接字 第一个数据包实际上已发送 但后面的数据包并
  • EntitySet.Where(myPredicate) 抛出 NotSupportedException

    EDIT 我们再试一次 这次我使用了 AdventureWorks 示例数据库 以便大家可以一起玩 这将排除我在自己的数据库中所做的任何疯狂的事情 这是一个新示例 展示了哪些有效以及我期望哪些有效 但无效 任何人都可以解释为什么它不起作用或
  • 正则表达式 - 匹配前面没有另一个字符串的字符串 (JavaScript)

    我试图找到一个正则表达式 当字符串前面没有另一个特定字符串时 在我的例子中 当它前面没有 http 时 该正则表达式将与该字符串匹配 这是在JavaScript 并且我正在 Chrome 上运行 这并不重要 示例代码是 var str ht
  • 带有子进程的 find 命令在 Shell=True 的情况下不起作用

    我的代码中有以下几行 我嵌入了一小行 用于获取超过 10 分钟的文件列表 我的子流程失败了 几乎没有错误 当我给出 Shell True 时 它 似乎有效 但我读到使用该选项是非常危险的 而且我对 Python 很陌生 不想搞乱我不理解的东