Cloud/Linux

백그라운드 실행

닉네임생각즁 2024. 2. 23. 10:59

 

수업 시간에 아래와 같은 과제가 주어졌다

npm run dev로 실행 후
curl localhost:5173(열린 포트 번호)로 동작하는지 테스트

 

 

npm run dev를 실행하면

이렇게 나오고 실행한걸 종료하지 않는 이상 명령어를 입력할 수 없다

만약 종료하고 curl 명령어를 입력하면

 

"failed to connect to localhost port 5173: connection refused"

-  curl이 지정된 포트 5173으로 연결을 시도했지만 해당 포트에서 서비스를 제공하는 서버가 없거나 접속을 허용하지 않는다

 

이미 종료했으니 당연한 일이었다

그렇다면 어떻게 해야 하는걸까

🤔🤔🤔🤔🤔🤔🤔🤔🤔🤔

 

 

답은 백그라운드(background) 실행이었다

- & : 리눅스나 유닉스 기반 시스템에서 백그라운드로 프로세스를 실행할 수 있게 해줌

- 일반적으로는 명령이 완료될 때까지 터미널이 블록되어 다른 작업을 수행할 수 없는데, 

명령의 끝에 "&"를 추가하면 해당 명령이 백그라운드에서 실행되므로 터미널이 차단되지 않고 다른 명령을 입력할 수 있게 된다

 

 

npm run dev &

- 개발 서버가 백그라운드로 실행된다

- 개발 서버가 실행된 후 이어서 명령어를 입력할 수 있도록 나오는데 만약 나오지 않는다면 엔터를 치면 된다

 

- 실행 중인 상태에서(백그라운드) 해당 포트로 요청을 보내 응답을 확인할 수 있게 된다

- 개발 서버가 해당 포트에서 정상적으로 실행되고 있고 요청을 처리할 수 있다면 curl 명령은 해당 서버의 응답을 터미널에 출력한다

 

- 만약 종료하고싶다면 "fg" 를 입력하여 다시 포그라운드로 돌린 후 Ctrl+C로 종료시킨다