Node. js 중 childprocess 모듈 의 spawn 과 exec 방법 간 의 차이

1256 단어 nodejs
Node. js 서브 프로 세 스 모듈 child_process 은 두 가지 방법 이 있 습 니 다.  spawn  exec 과 이 두 가지 방법의 기능 은 모두 새로운 프로 세 스 를 시작 하 는 것 이다.
  child_process.spawn  화해시키다  child_process.exec 가장 중요 한 차 이 는 그들의 귀환 대상 에 있다.child_process.spawn  방법 은 표준 출력 이 있 는 것 을 되 돌려 줍 니 다.  stdout  화해시키다  stderr  흐 르 는 대상.child_process.exec  하위 프로 세 스 출력 버퍼 의 모든 내용 을 되 돌려 줍 니 다.버퍼 의 기본 용량 은 200 k 입 니 다. 하위 프로 세 스 가 되 돌아 오 는 데이터 가 이 용량 제한 을 초과 하면 프로그램 이 무 너 집 니 다. 해당 오류 정 보 는 "Error: maxBuffer exceeded" 입 니 다.exec 의 매개 변수 중 버퍼 용량 을 조정 함으로써 이 문 제 를 해결 할 수 있 습 니 다.단, 하위 프로 세 스 가 대량의 데이터 노드 프로 세 스 를 되 돌려 줄 필요 가 있다 면 사용 하 는 것 이 좋 습 니 다 child_process.spawn 방법
  child_process.spawn  화해시키다  child_process.exec 사이 의 또 다른 중요 한 차 이 는 그들의 하위 프로 세 스 비동기 방식 에 차이 가 있다 는 것 이다.child_process.spawn  "비동기 식 비동기 (asynchronously asynchronous)" 입 니 다. 하위 프로 세 스 가 시작 되면 돌아 오 는 스 트림 대상 에 게 데 이 터 를 보 내 는 것 입 니 다.child_process.exec  '동기 식 비동기 (synchronously asynchronous)' 는 하위 프로 세 스 가 비동기 로 실행 되 지만 exec 방법 은 하위 프로 세 스 가 실 행 된 후에 야 버퍼 안의 데 이 터 를 주 프로 세 스 로 되 돌려 준 다 는 뜻 이다.

좋은 웹페이지 즐겨찾기