为什么 tee 等待所有子 shell 完成?

2024-04-13

我有一个运行 mysqld 的服务器脚本并分叉以继续运行。举个例子:

./mysqld <parameters> &
echo "Parent runs next line in script."
<do more stuff>

为什么 tee 要等到子进程结束才自行结束?

EDIT:

例如,以下内容始终挂起:

./myscript | tee -a logfile.log

因为如果子进程仍在运行(并且仍打开标准输出),则无法确定是否已处理所有输出。

由于父级和子级使用相同的标准输出(连接到tee的输入,由于管道的原因),没有办法tee来区分它们。由于它消耗所有输入,因此父级和子级都必须在之前关闭其标准输出(或终止)tee将看到输入结束条件。

如果你想tee要在父脚本退出时退出,您应该将子脚本的输出重定向到文件或/dev/null例如)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 tee 等待所有子 shell 完成? 的相关文章

随机推荐

  • 如何下载并安装 lint?

    有谁知道如何获取 Mac Windows 和 Linux 的 lint sudo port install lint找不到它 我只见过 BSD 的 lint 有splint http www splint org 但是 GPL lint 重
  • 如何列出Excel中三列中值的所有可能组合?

    我有三列 每一列都有不同类型的主数据 如下所示 现在 我想要这三个单元格的所有可能组合 就像 aa kk jj aa kk ff aa ll jj aa ll ff aa mm jj 这可以用公式来完成吗 我发现一个公式有 2 列 但我无法
  • Prism的RegionManager视图切换性能

    我正在对使用 PRISM 库编写的 WPF 应用程序进行性能分析 在此应用程序中 从一个视图导航到另一视图特别慢 尤其是在远离 重 视图时 注意 来回导航时视图会被缓存并且不会重新构造 PRISM 将所有视图保留在 SingleActive
  • 为什么要有移动语义?

    首先我要说的是 我已经阅读了有关移动语义的许多问题中的一些 这个问题不是关于如何使用移动语义 而是问它的目的是什么 如果我没有记错的话 我不明白为什么需要移动语义 背景 我正在实现一个重磅课程 就这个问题而言 它看起来像这样 class B
  • WooCommerce 购物车基于数量的折扣

    在 WooCommerce 中 如何根据购物车中的商品总数设置购物车折扣 例如 1 至 4 件商品 无折扣 5 至 10 件 5 11 至 15 件 10 16 至 20 件商品 15 21 至 25 件商品 20 26 至 30 件商品
  • 使用 Cassandra PasswordAuthenticator 时,DSE OpsCenter 最佳实践失败

    启用 Cassandra 的 PasswordAuthenticator 时 以下最佳实践检查将失败 搜索启用了错误自动提交的节点 启用查询结果缓存的搜索节点 搜索过滤器缓存错误的节点 我的数值符合推荐值 我已经确认 当我在 Cassand
  • 如何在iOS中绘制单点线

    我想知道绘制单点线的最佳方法是什么 我的目标是在 tableViewCell 中绘制这条线 使其看起来就像本机单元格分隔符 我不想使用原生分隔符 因为我想使用不同的颜色和不同的位置 不是底部 起初我使用 1px UIView 并将其着色为灰
  • 保护节点 Redis

    我正在尝试保护 Node Redis IPC 服务器以使用私钥 公钥 我已经关注了本教程 http bencane com 2014 02 18 sending redis traffic through an ssl tunnel wit
  • 如何在 C#、ASP .NET 中修改请求标头

    我正在开发 ASP NET mVC 项目 并且必须更改 HttpHeaders 请参阅下面的代码片段 WebRequest req HttpWebRequest Create myURL HttpWebResponse response H
  • 单击耳机按钮时应用程序崩溃

    我已经构建了一个部署在 android google playstore 中的音频播放器 我正在使用 crashlytics 来监控崩溃和 ANR 最近我遇到了很多 MediaButtonReceiver 崩溃的情况 耳机的咔嗒声在许多设备
  • 如何仅使用CSS和HTML实现带有标题+可滚动侧边栏+可滚动内容的应用程序布局[重复]

    这个问题在这里已经有答案了 我需要构建一个标准的 Web 应用程序 其中包含标题 左侧边栏 如果选项太多则可滚动 和内容大小合适 这是我的尝试 wrapper font size 14px height 100 width 100 marg
  • 使用MATLAB编写一个函数,在二维中实现牛顿法

    我正在尝试编写一个在二维中实现牛顿法的函数 虽然我已经做到了这一点 但我现在必须调整我的脚本 以便我的函数的输入参数必须是列向量 雅可比矩阵 中的 f x 的f x 最初的猜测x0以及函数的公差f x 及其雅可比矩阵位于单独的 m 文件中
  • 数组空指针异常? [复制]

    这个问题在这里已经有答案了 好的 我不明白为什么我的代码报告 NullPointerException 但我已经在这里呆了很长一段时间试图弄清楚它 And no files is not null 编辑 这是我的一个错误 它是空的 我没有看
  • 去掉 Eclipse 生成的serialVersionUID上面的注释

    这已经成为我的一个烦恼 我写一个类 并实现Serializible 然后日食警告我说我没有serialVersionUID 所以我选择 添加生成的serialVersionUID or 添加默认的serialVersionUID 我最终得到
  • Base 64 或 MD5 哪种加密方法最好?

    我目前正在使用 MD5 加密将密码存储在数据库中 我们之前没有密码重置功能 但现在我们正在实施它 所以我无法解密MD5并将密码发送给用户 但如果它是用 base64 加密的 我就可以做到 现在我有点困惑哪种是最好的加密方法 我已经对强密码进
  • Visual Studio 2017 在加载解决方案时挂起

    我有一个包含 4 个项目的解决方案 一个 NET Framework 项目 Ananas 两个 NET Core项目 香蕉和樱桃 一个 Xamarin 项目 露莓 每次我启动 Visual Studio 2017 Community 15
  • 如何使用 GridLayout 和多个面板?

    如何使用多个JPanel容器使这段代码看起来像这样 这是我的代码应该是什么样子的图像 但我无法弄清楚 我只能用GridLayout BorderLayout and FlowLayout 作为初学者 我们只了解了基本概念 但我需要更多帮助
  • glDeleteShader - 顺序无关吗?

    在 OpenGL 中 顺序为glAttachShader无关紧要 这是否相同glDeleteShader 如果正在进行一些动态内存分配 我会说是的 但也许在 opengl 上下文中处理方式不同 简单的答案是 没关系 您可以在将它们附加到程序
  • 等待由 IContextMenu.InvokeCommand 启动的进程

    我有一个TListView其项目是文件 用户可以通过双击它们来打开它们 为此 我将文件保存在 Windows 临时文件夹中 启动一个线程来打开保存的文件ShellExecuteEx 并让它等待ShellExecuteInfo hProces
  • 为什么 tee 等待所有子 shell 完成?

    我有一个运行 mysqld 的服务器脚本并分叉以继续运行 举个例子 mysqld