# window에서 백그라운드로 프로그램을 실행시켜보자.
어쩌다 windows에서 백그라운드로 typescript 기반 코드를 실행시켜놓을 일이 생겼다. 보통 리눅스를 쓰기 때문에 윈도우는 크게 다른가 싶었는데 똑같이 pm2를 활용할 수 있다. Service를 통해 등록하는 방법도 있지만 가장 편한 방법이 pm2를 통한 방법이라고 생각된다.
# bun설치 오류가 뜬다.
windows에서 pm2를 통해 ts파일을 실행시키려고 하면 보통 bun이 미설치 되었다고 뜰 것이다. 이는 .cmd 파일을 잘못 인식해서 node가 아닌, js의 runtime으로 실행시키려는 특성 때문이다. 파일에 명시해줌으로써 node를 runtime으로 인식할 수 있도록 해주자
ecosystem.config.js
module.exports = {
apps: [{
name: 'pm2-process-name',
script: 'myFile.ts',
interpreter: 'node',
interpreter_args: '-r ts-node/register',
exec_mode: 'fork',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
}
}]
위에서 name을 pm2의 process로 띄울 이름으로, script는 내가 실행시킬 파일로 해주면 된다.
작성 해준 뒤,
pm2 start ecosystem.config.js
명령어로 실행 시켜주자
# pm2 설치 방법
npm install -g pm2
pm2 --version
# npx란
특정 패키지가 없는 경우도 실행 가능하도록 해주는 패키지관리자
npx ts-node myFile.ts <= ts-node가 없어도 ts파일 실행을 ts-node를 통해 할 수 있도록
# ts-node
ts파일을 node를 통해 실행 가능하게 해준다.
타입스크립트 설치 없이도 node에서 ts파일 실행이 가능하다.
'Daily' 카테고리의 다른 글
AI 개발자, 데이터 엔지니어가 뭘까 (0) | 2025.06.30 |
---|---|
맨날까먹는 쿠버네티스 마스터-nfs-worker 설정 순서 (0) | 2025.06.05 |
기록을 해야하는 이유 (2) | 2025.06.05 |
kubernetes top metrics api not available error 해결 (0) | 2024.11.01 |