我有Node.js应用程序使用生成进程child_process.spawn(my_command).我用它来运行像这样的命令sudo my-app.
当sudo流程开始时,它就会启动my-app.所以我最终得到了一个流程树.sudo在顶部,我的应用程序,我的服务器等在底部.
从我的节点脚本,如果我杀了我开始的过程:my_process.kill("SIGTERM")它会杀死sudo进程,但不会杀死它的子进程.我的服务器一直在运行
有没有办法杀死整个进程树?
我想实现一个能够感知时间的 AudioWorkletProcessor。例如:如何将DelayNode重新实现为Processor?
MDN 文档说:
根据规范,您的 process() 函数接收到的每个音频块包含 128 个帧(即每个通道 128 个样本),但计划该值将来会发生变化,并且实际上可能会根据情况而变化,因此您应该始终检查数组的长度而不是假设特定的大小。
我可以获取输入长度的帧数,但如何获取使用的采样率?这样我就可以知道这个输入有多长(以秒为单位)。
我的最终目标是能够计算特定时间窗口内信号的平均能量。
class EnergyProcessor extends AudioWorkletProcessor {
process(inputs, outputs, parameters) {
if (inputs.length !== 1) {
throw 'invalid inputs'
}
// how much time is covered by inputs?
inputs[0].forEach((channel, channelID) => {
let sum = 0
let count = 0
channel.forEach((value, i) => {
sum += value * value
count += 1
for (let o = 0; o < outputs.length; o++) {
// skip when writing x channels to …Run Code Online (Sandbox Code Playgroud)