저는 arduino를 사용하여 열전쌍의 데이터를 노트북 (OSX)에 저장하고 있습니다. 나는 C 프로그램에 저장된 데이터를 사용하고 싶지만 몇 가지 의구심이있다. C 프로그램에서 프로세스 (명령 셸)를 시작하고 종료하는 방법은 무엇입니까?
내가이 작은 예를 가지고 : 나는 일부 파일 직렬 (아두 이노를) 리디렉션하려고include <stdio.h>
include <stdlib.h>
int main (void)
{
int a;
a=fork();
if(a==0)
{
system("cat /dev/cu.usbmodem1a21 - 9600 >> num.txt");
}
return 0;
}
를, 그래서 코드가 실행 아래에있는 동안 나는 과정을 복제하고 명령을 실행하는 데 fork
를 사용 . 그러나 이것은 콘솔을 사용하여 프로세스를 수동으로 종료해야하기 때문에 더러운 솔루션입니다. 동일한 프로그램 내에서 c 코드를 사용하여 프로세스를 종료 할 수있는 방법이 있는지 알고 싶습니다.
미리 감사드립니다.
ps : 나는 getpid()를 사용하여 프로세스를 죽이려고했지만, 다시 생각해 보면 더러운 해결책이라고 생각합니다.
'시스템'대신'exec' 중 하나를 사용할 수 있습니다. 'system'은 또 다른 쉘을 생성 한 다음 cat을위한 또 다른 프로세스를 생성합니다. 총 3 개의 새로운 프로세스를 생성합니다. – Marian
당신의 대답은 매우 유용합니다. 같은 시간에 실행되는 많은 OS 프로세스가 있습니다. :) – mrmurmanks