我试图使用下一个代码将来自 arduino ( USB ) 的输出重定向到计算机上的某个文件:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
int main()
{
pid_t pid;
pid = fork();
if (pid == 0) {
execl("/bin/cat","cat /dev/cu.usbmodem1421 - 9600 >> data.txt",NULL);
}
printf("Cuando desee terminar la recolección de datos presione cualquier tecla: ");
getchar();
kill(pid, SIGKILL);
return 0;
}
使用 ps 验证一切是否正常,我可以看到在我的主程序后面运行的进程。停止程序后,数据文件上没有任何内容。我尝试使用 system() 这有点讨厌,因为我需要使用 OSX 终端手动终止程序。我想也许语法是错误的,我需要的只是添加另一个参数,但似乎没有任何效果。