배고픈 개발자 이야기
[리눅스] 시스템 서비스 등록하기 본문
728x90
리눅스에서 프로그램을 실행하다 보면 서비스로 등록해서 프로세스로 띄워 편리하게 사용하고 싶을 때가 있어서 포스팅을 시작하려고 합니다.
shell 프로그램을 실행할 땐 ./test.sh &를 입력하면 백그라운드로 실행됩니다.
&는 background로 실행하는 명령어 입니다.
하지만 &로 실행하게 되면 shell이 종료되거나 사용자 로그아웃시 프로세스가 중단(hangup)됩니다.
이번에 JAVA spring boot로 배포된 프로그램을 백그라운드로 실행해보면서 문제점들이 있었는데요
CTRL+C : 포그라운드 작업을 정지(종료)
CTRL+Z : 포그라운드 작업을 일시정지 후 백그라운드로 밀어넣기
를 실행하면 아래와 같이 정지됬다는 문구가 출력되는데
bg %JID : 백그라운드 작업을 재시작
으로 실행되지 않을 때가 있습니다.
알아보니 ssh 접속이 끊기며 실행했던 파일들이 종료된다고 합니다. ex) 톰캣
특정 프로그램을 지속적으로 실행하기 위해선 nohup이라는 명령어가 필요합니다.
-I/O exception 발생시 I/O 재지향 하여 백그라운드로 실행하는 방법
-nohup사용법
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_nohup_%EC%82%AC%EC%9A%A9%EB%B2%95
-실행중인 프로세스 유지 후 ssh 로그아웃하기
https://mkyong.com/java/how-do-run-a-java-program-in-backgroud-unix-linux/
'언어 > C언어, C++언어' 카테고리의 다른 글
[C/C++] error while loading shared libraries : cannot open shared object file: No such file or directory (0) | 2020.03.06 |
---|---|
[리눅스] 디스크 용량 확인 (0) | 2020.03.06 |
개발자가 알아야할 10가지 보안팁으로 코드 보호하기 (0) | 2019.09.30 |
Modern C++의 장/단점 (1) | 2019.09.20 |
Template 이란? (C/C++) (0) | 2019.09.20 |
Comments