반응형
node.js 에서 OS 명령어를 실행해야 하는 경우가 있어요
OS가 윈도우인지 리눅스인지 다른 명령어를 실행해야 하는 경우도 있어요
간단한 샘플을 이용해서 OS를 인식하여 그에 맞는 명령어를 실행하는 방법입니다
const execSync = require('child_process').execSync;
function get_cpu_id() {
if (process.platform === "win32") {
return execSync('wmic csproduct get UUID /format:list').toString();
} else {
return execSync('/usr/bin/cat /proc/cpuinfo | grep "model name" | head -1').toString();
}
}
let cpu_id = get_cpu_id();
console.log(cpu_id);
process.platform 변수에 OS가 어떤 것인지 들어 있어요
인식해야 하는 운영체제가 더 있다면 process.platform 변수를 더 조사해야 합니다.
그러고 나서 child_process에 있는 execSync를 이용하여 명령어 결과를 가져올 수 있어요
예제는 cpu 정보를 가져오는 명령어입니다.
윈도우에서는 wmic 명령어를 사용하여 cpu 정보를 가져올 수 있어요
리눅스에서는 cat 명령어로 /proc/cpuinfo를 볼 수 있어요
cat 명령어를 그냥 쓰지 않고 전체 경로를 써야 정상 동작 합니다.
cat 명령어 전체 경로를 알고 있다면 which cat을 입력하면 됩니다.
반응형
'코딩 프로그래밍 > Javascript 자바스크립트' 카테고리의 다른 글
github page blog 배포 빌드 자동화 Github Action (0) | 2022.09.18 |
---|---|
github pages 블로그 시작하기 (0) | 2022.09.18 |
스크롤바 보이지 않게 하는 CSS, 스크롤바 안 보이게 하는 CSS (0) | 2021.01.28 |
React JSX 문법 사용해보기 (0) | 2020.11.09 |
React state 변수와 버튼에 기능 넣기 (0) | 2020.11.08 |
댓글