리눅스 명령어 프로세스 실습

Sol's·2023년 5월 14일
0

Aws 무중단 배포

목록 보기
4/28

apt 명령어를 사용하면 실행파일을 직접 찾아서 실행할 필요가 없습니다.

Service 목록 확인하기
+ : 실행중
- : 실행중이지 않음

service --status-all

sudo service tomcat8 stop

톰캣을 끄고 켤 수 있습니다.

하지만 Service 명령어보다는
systemctl을 사용하는게 좋습니다.

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

PS (프로세스) 명령어

내가 직접 압축파일을 다운하고 실행파일을 실행하면 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 명령어를 사용하면
프로세스가 종료가 되었음에도 일시정지라고 확인이 됩니다.

Systemctl 명령어로 Tomcat 재시작하기

이때는 restart를 통해 다시 시작해야 프로세스가 정상작동하게 됩니다.

➡️ start를하면 절대 다시 실행이 되지 않습니다.

sudo systemctl restart tomcat8

배운점

kill, systemctl

kill (PID-포트번호)를 통해 프로세스를 종료하면
systemctl 입장에서는 exit(대기상태) 된것이고
restart로만 실행이 됩니다.
또는 stop ➡️ start 를통해 프로세스를 다시 Ram에 올릴 수 있습니다.
종료가 아닌 대기상태로 들어가기 때문입니다.

shell 스크립트 팁

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 스크립트를 작성할때 매우 도움이 됩니다!

profile
배우고, 생각하고, 행동해라

0개의 댓글