노드를 사용하여 특정 bash 프로세스의 출력을 시작하고 계속 캡처 할 수 있습니까? 예를 들어, 내가 tail /some/file
을 실행했다고 가정 할 때, 출력 할 때마다 새로운 라인을 듣고 계속 듣고 있습니까?NodeJS에서 bash 출력 캡쳐
답변
입니다.
child_process.spawn
을 사용하여 프로세스를 생성하고 출력을 모니터링 할 수 있습니다. 그러나 꼬리, 고양이 등과 같이 길거나 연속적으로 실행되지 않는 명령의 경우 child_process.exec
을 사용하면 stdout
및 stderr
의 전체 출력을 캡처하여 한꺼번에 출력 할 수 있습니다.
var cp = require("child_process");
cp.exec("tail /some/file", function (err, stdout, stderr) {
// If an error occurred, err will contain that error object
// The output for the command itself is held in stdout and stderr vars
});
var spawn = require('child_process').spawn,
tail = spawn('tail', ['-f', '/tmp/somefile']);
tail.stdout.pipe(process.stdout);
child_process 모듈은 나뿐만 아니라이 대답을 추가 한, 완성도를 들어 well documented
['exec'] (http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback)을 실행할 수도 있습니다. 그러면 stdout과 stderr의 전체 출력을 수집합니다. '꼬리 (tail) '와 같은 인스턴스의 경우 잘 작동합니다. (계속 실행중인 스크립트가있는 경우 출력 스트림을 모니터링하는 것이 더 좋습니다.) –
제 스크립트는 연속적으로 사용됩니다 (예 :'tail' 또는 Google App Engine의'dev_appserver.py'). 나는 이것을 시험 할 것이고 당신에게 돌아갈 것이다. –
이 작업은 Windows에서 가능합니까? – ANinJa
- 1. 맥에서 사운드 출력 캡쳐
- 2. Perl 명령 실행, 캡쳐 및 출력 출력
- 3. 다른 창에서 창 출력 캡쳐
- 4. matlab에서 외부 스크립트 호출 및 출력 캡쳐
- 5. nodejs에서
- 6. bash 스크립트의 형식 출력
- 7. bash 스크립트의 결과 출력
- 8. Bash 입/출력 (C++)
- 9. Bash 출력 위치
- 10. bash 출력 리디렉션 prob
- 11. BASH 스크립트 - 명령 출력
- 12. TestNG 테스트를 실행할 때 Log4j 출력 캡쳐
- 13. JSF 페이지의 생성 된 HTML 출력 캡쳐
- 14. Bash 출력 리디렉션과 관련된 문제
- 15. 펄 스크립트의 bash 스크립트 출력
- 16. bash-history에 명령 출력 저장
- 17. AppleScript로 Bash 출력 문제가 있습니다.
- 18. 입력 및 출력 비교 - bash
- 19. Bash 스크립트 출력 들여 쓰기
- 20. 는 NodeJS에서
- 21. bash 스크립트 루프의 cat 명령문 출력
- 22. Bash 문자열 (명령 출력) 동등 테스트
- 23. Bash 스크립트에서 stdout으로 파일 출력 경로 변경
- 24. Bash 파이핑 출력 및 프로그램 입력
- 25. Lua 스크립트로 bash 출력 색상을 활성화하십시오.
- 26. bash 스크립트의 명령 옵션에 대한 어레이 출력
- 27. 고양이 숫자가 bash 숫자 변수로 출력
- 28. 캡처 오류 및 Bash 스크립트의 로그 출력
- 29. bash 스크립트에서 모든 입력 및 출력 캡처
- 30. Java, Junit - 유닛 테스트에 사용할 표준 입력/출력 캡쳐
글쎄, node.js에서 처리 할 수 있는지 확실하지 않은 경우 프로세스의 표준 출력에 연결해야합니다. – Bobby
@Bobby 네, 사실 아주 쉽게 할 수 있습니다. 'child_process' 모듈을보십시오. :) –