2017-03-28 10 views
0

하위 프로세스를 추적하는 스크립트를 작성 중입니다. 그러나 C 코드를 작성하고 싶지 않으므로 node-ffi 모듈을 사용하여 처리하도록 고려하고 있습니다. 하지만 새로운 프로세스를 포크하고 execve()를 호출하여 자식을 실행해야합니다. 안전 한가?Node.js - node-ffi 또는 add-on과 함께`fork()`를 사용하는 것이 안전합니까?

fork() 나는 POSIX 포크를 의미하며 child_process.fork()이 아닙니다. 자식 프로세스와 부모 프로세스가 동일한 파일 설명자를 공유하는지 궁금합니다. 예를 들어, 부모와 자식이 같은 .js 파일을 읽어야합니다.

+1

안전하다는 것은 무엇입니까? fork, child_process 등과 관련된 node-ffi의 github 저장소에 열려있는 문제가없는 것 같습니다. –

답변

0

괜찮습니다. fork()은 전체 프로세스가 아닌 현재의 스레드 만 분기하므로 다른 Node.js 루틴은 분기되지 않습니다. 그러나 종료하려면 _exit(2) syscall을 사용해야합니다. glibc가 exit(3)을 사용하지 마십시오. SIGSEGV가 발생할 수 있습니다.