问题标签 [process-group]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 打印到另一个会话的控制终端
为什么echo hello > /dev/pts/xxx
有效(这里 xxx 指的是另一个会话的控制终端)?
默认情况下,该会话的后台进程组中的某个进程在尝试写入stdout(这里stdout是指控制终端)时会收到信号SIGTTOU,因为终端驱动程序会检查该进程是否属于前台进程团体。
那么终端驱动程序如何容忍来自另一个会话进程的输出呢?那里发生了什么?
linux - Linux 父/子进程组和信号
我有一个有趣的设置。我有一个包装脚本可以做一些事情,并启动一个子进程。我希望能够做到以下几点:
- 让包装脚本能够杀死子进程及其可能创建的任何子进程
- 确保如果包装器本身被发出信号/被杀死,它也会将其传递给子进程
据我所知,这里有点矛盾。为了满足第一个要求,据我所知,我需要在子进程的进程组上使用 killpg 。这很好,但它也会杀死包装脚本本身,因为子脚本具有父脚本的进程组。
所以现在如果我在孩子中设置pgrp以便它得到一个单独的PG,我可以正确地杀死它和它的孩子,但我没有失去第二个要求(如果包装器被杀死它不会去孩子)。
我可以通过在包装脚本中注册一个信号处理程序并通过 killpg 传递信号来解决这个问题,但是这对 SIGKILL 不起作用......这让我有点自相矛盾。
有什么可能的解决方案吗?
c - 一个作业的单个进程可以属于多个组吗?
作为作业的一部分启动的进程是否可以选择加入某个其他进程组,以便作业由来自多个组的进程组成?如果是这样,会有什么影响?
前考虑以下工作:
如果选择加入不同的组会发生什么?
P1 | P2 | P3
P3
apache-nifi - 将现有的 Nifi 进程组放入新的进程组
我是 Nifi 的新手,并且仍在尝试弄清楚基础知识。但是,这是我目前无法通过研究找到的。
我的任务是将一堆现有的流程组放入一个流程中,从而将相同的最终流程放入一个新的流程组中。拖拽不行,怎么办?
谢谢!
cmd - 从 CMD 启动 Apache Nifi 进程组
在 Apache Nifi 中,是否有任何命令可以从命令提示符启动特定进程组?
linux - 信号处理/子进程的常规做法
编辑:如果管理shell 脚本的子进程真的纯粹是一个“意见”问题......难怪有这么多可怕的 shell 脚本。感谢您继续这样做。
我很难理解 SIGTERM 是如何与 Linux 中的子进程相关的传统处理方式。
我正在 Bash 中编写命令行实用程序。
看起来像
很简单,对吧?
但是,如果向我的程序发送 SIGTERM 信号,Bash 脚本将结束,但当前子进程(例如command2
)将继续。
但是有了更多的代码,我可以像这样编写我的程序
这会将 SIGTERM 传播到当前正在运行的子进程。我不经常看到这样编写的 Bash 脚本,但这就是它所需要的。
我是不是该:
- 每次创建子进程时都以第二种样式编写程序?
- 或者希望用户在发送 SIGTERM 时在进程组中启动我的程序?
关于儿童 SIGTERM 的流程管理职责的最佳实践/约定是什么?