Javascript 子进程意外终止,没有错误输出

Javascript 子进程意外终止,没有错误输出,javascript,python,csv,bluetooth,raspberry-pi,Javascript,Python,Csv,Bluetooth,Raspberry Pi,我正在开发一个心率传感器应用程序,其中读数存储在CSV文件中。 移动应用程序通过蓝牙与Raspberry pi通信。 我正在VSCode上使用ssh在Raspberry Pi上开发。 直接运行Python代码时,将创建CSV,传感器启动并保存读数 但是,当我尝试在Javascript中将python代码作为子进程启动时,代码在没有错误输出的情况下被终止之前就开始创建CSV文件。 此外,从启动子进程创建的PID不会出现在Raspberry Pi任务管理器中 我需要代码来工作,当“1”在一个BLE应

我正在开发一个心率传感器应用程序,其中读数存储在CSV文件中。 移动应用程序通过蓝牙与Raspberry pi通信。 我正在VSCode上使用ssh在Raspberry Pi上开发。 直接运行Python代码时,将创建CSV,传感器启动并保存读数

但是,当我尝试在Javascript中将python代码作为子进程启动时,代码在没有错误输出的情况下被终止之前就开始创建CSV文件。 此外,从启动子进程创建的PID不会出现在Raspberry Pi任务管理器中

我需要代码来工作,当“1”在一个BLE应用程序上传递时,python进程开始,读数存储在CSV中

问题似乎在于如何创建和写入CSV文件,因为我已经尝试将该部分取出,以便将结果打印到控制台,而且效果很好

Javascript:

函数startLogging(){
if(!pythonProcess)
{
pythonProcess=spawn('python',[“/home/pi/github/little_pulse/little_pulse/code/pulse_sensor/pulseWriter.py]”);
};
};
loggingCharacteristic.prototype.onWriteRequest=函数(数据、,
偏移量、无响应、回调){
如果(!偏移){
该值=数据;
}
log('loggingCharacteristic-onWriteRequest:value='1〕+
这个.u值.slice(offset,offset+bleno.mtu).toString()
);
如果(此._值==1)
{
log('Logging Started');
传感器。惊跳();
}
else if(此._值==2)
{
stoploging()传感器;
log(“日志记录已停止”);
}
否则{
console.log(“输入不正确”);
}
回调(this.RESULT\u SUCCESS,this.\u值);
};
Python:

从脉冲传感器2导入脉冲传感器
导入csv
p=脉冲传感器()
将open('/home/pi/github/little_pulse/little_pulse/heartRateCSV.csv',n'a',换行符='')作为f:
theWriter=csv.writer(f)
writer.writerow(['Time','BPM','col3'])#列名
尝试:
p、 startAsyncBPM()
尽管如此:
#将bpm打印到控制台并写入csv的代码
除:
p、 stopAsyncBPM()

听起来像是权限问题。可能吗?我已经使用了raspberry pi,并且已经授予了读取、写入、执行python代码的所有权限,并且允许访问已经创建的CSV文件,没有任何更改。