如何为分叉进程创建监听器?

如何为分叉进程创建监听器?

我想创建一对 bash 函数,类似于

function generator {
    while [ 1 -le 1 ]
    do
        # run log generator > somefile.log
    done
}

function tail_log {
    generator &
    tail -f somefile.log
}

因此,我将运行命令tail_log来查看日志输出。除了无限循环之外,我希望允许用户按下 来Q终止分叉进程。

所以看起来我需要两件事:

  1. 获取分叉进程的进程 ID 的方法
  2. 一种监听用户输入的方法,这样kill当用户按下Q

答案1

  1. $!

  2. tail也可以在后台运行。在前台,使用read内置。输入后,终止两个后台进程。

    当我这样做的时候:

  3. while [ 1 -le 1 ]while true(参见有点相关的部分关于 BashPitfalls)

  4. function foo {...}foo() {...} (参见弃用的语法对这个)

相关内容