apt 명령어를 사용하면 실행파일을 직접 찾아서 실행할 필요가 없습니다.
Service 목록 확인하기
+
: 실행중
-
: 실행중이지 않음
service --status-all
sudo service tomcat8 stop
톰캣을 끄고 켤 수 있습니다.
하지만 Service 명령어보다는
systemctl
을 사용하는게 좋습니다.
sudo systemctl list-unit-files -> 전부 확인
sudo systemctl status tomcat8 -> 톰캣 실행 상태확인
sudo systemctl start tomcat8 -> 실행
sudo systemctl stop tomcat8 -> 중지
grep
명령어를 통해 Tomcat만 확인하기
sudo systemctl list-unit-files | grep tomcat8
내가 직접 압축파일을 다운하고 실행파일을 실행하면 Service에 등록이 되지 않습니다.
그럼 PS 명령어를 통해 프로세스를 종료해야 합니다.
ps -ef -> 실행중인 프로세스 목록 전체 확인
아래 3가지만 중요합니다.
UID
: 프로세스 주인
PID
: 프로세스 아이디
C
: CPU 사용량
kill -9 PID -> 강제종료
kill (-15 생략가능) PID -> 안전한 강제종료
ex) sudo kill 22596
하지만 PS명령어인 kill
로 종료를 하고
sudo systemctl status tomcat8
명령어를 사용하면
프로세스가 종료가 되었음에도 일시정지라고 확인이 됩니다.
이때는 restart를 통해 다시 시작해야 프로세스가 정상작동하게 됩니다.
➡️ start
를하면 절대 다시 실행이 되지 않습니다.
sudo systemctl restart tomcat8
kill
(PID-포트번호)를 통해 프로세스를 종료하면
systemctl
입장에서는 exit(대기상태) 된것이고
restart
로만 실행이 됩니다.
또는 stop
➡️ start
를통해 프로세스를 다시 Ram
에 올릴 수 있습니다.
종료가 아닌 대기상태로 들어가기 때문입니다.
sudo kill `ps -ef | grep tomcat8 | grep -v grep | awk '{print $2}'`
grep
: 해당 단어가 포함된 행
을 찾는다.
grep -v
: 해당 단어가 있는 행
을 제외하고 찾는다.
awk
: 특정 조건을 출력합니다.
백틱
: 치환명령어
-> 감싼 부분을 실행 결과로 치환
ps -ef | grep tomcat8 | grep -v grep | awk '{print $2}'
는 출력을하는 것인데 백틱
으로 감싸게 되면 치환되어 다른명령을 수행 할 수 있습니다. 이것은 shell 스크립트를 작성할때 매우 도움이 됩니다!