728x90
nohup java -jar filename.jar &
최근에 AWS EC2를 통해서 웹을 배포할려고 했는데 세션을 종료하면 서버가 끊기게 되는 것을 알고서 명령어를 찾아봤다.
docker-compose를 쓴다면 -d 옵션을 통해서 세션을 종료하더라도 계속해서 실행시킬 수 있다. 하지만 dokcer없이도 그냥 실행 시킬려명 어떻게 해야할까?
그럴 때에는 nohup명령어를 사용해주면 된다.
이렇게 해주면 된다.
예를 들어서
장고를 실행시킬려면 아래와 같이
nohup python3 manage.py runserver 0:8000 &
스프링부트를 실행시킬려면 아래와 같이 명령어를 입력해주면 된다.
nohup [실행하고자 하는 파일] &
그렇다면 로그는 어디서 볼 수 있는 것일까??
위와 같이 명령어를 쳤으면 입력한 곳에 nohup.out이라는 파일이 생긴것을 확인 할 수 있다.
여기에 로그가 작성된다.
만약에 파일명을 변경하고 싶다면
nohup [실행 파일] > [로그 기록할 파일 이름] &
이런식으로 명령어를 입력해준다.
만약 에러메시지와 출력, 입력을 다른 곳에 보고 싶다면
nohup [실행 파일] 0>input.out 1>output.out 2>error.out &
이렇게 작성해주면 된다.
0은 표준입력, 1은 표준출력, 2는 에러내용이다.
이제 종료는 어떤식으로 해야할까?
ps -ef | grep [종료할 프로세스]
이런식으로 PID를 먼저 찾아준뒤에
# 종료
kill -15 [PID]
# 강제 종료(권장 X)
kill -9 [PID]
이렇게하면 프로세스를 종료할 수 있다.
728x90
'프로그래밍 > 리눅스' 카테고리의 다른 글
내가 보려고 정리한 리눅스 기본 명령어 모음 (0) | 2022.08.21 |
---|