개발/Linux

리눅스 명령어 모음 [프로세스, 서비스]

Ridiss 2022. 9. 28. 08:56

apt 명령어 설치 - 서비스 등록

실행파일을 직접 찾아서 실행할 필요가 없음

 

서비스 목록 확인(+실행중) (-실행중아님)

: service --status-all

 

서비스 목록 확인

 

 

하지만!! 요즘은 service명령어를 잘 안쓴다고함

대신 systemctl 이라는 서비스 제어 명령어를 사용

 

service 명령어는 systemctl의 wrapper script 

 

sudo systemctl list-unit-files (모든파일보기) 중지하려면 ctrl c or q

 

 

 

*files에서 tomcat8을 찾고 싶을경우

sudo systemctl list-unit-files | grep tomcat8 을 입력

 

tomcat8의 상태를 보고 싶을경우

sudo systemctl status tomcat8

 

tomcat8을 중지 

sudo systemctl stop tomcat8

 

tomcat8을 시작

sudo systemctl start tomcat8

 

systemctl을 이용한 tomcat8 동작

 

 

프로세스

ps -ef 명령어로 현재 프로세스 전체 확인 가능

 

특정 프로세스를 중지시키고 싶은데 중지명령어가 안먹히는경우 강제종료를 해야하는 경우가 생김

그럴때 프로세스 강제 종료 명령어로 종료시킴

 

kill 종료 옵션들

 

kill -l (kill 종료옵션보기)

예를들어 9)SIGKILL방식으로 종료를 하고 싶은경우 kill -9 pid 를 적으면됨

 

보통 15)SIGTERM을 통해 종료하는데 이경우 -15를 적어도 되고 안적어도된다. 

kill pid 를 적으면 끝

 

tomcat8 pid찾아서 종료

위 사진처럼 강제로 종료시킨경우 systemctl에서는 해당 프로세스가 일시정지 처리로 보기때문에 

sudo systemctl start tomcat8 명령어를 실행시켜도 적용되지 않는 문제가 발생하는데

이럴경우 sudo systemctl restart tomcat8 명령어를 실행시켜서 재시작해야함

 

kill을 통해 종료할경우 다시 start명령어가 적용되지 않음

 

**만일 tomcat8의 pid만 구하고 싶은 명령어를 짜고싶은경우 (스크립트)

ps -ef | grep tomcat8 | grep -v grep | awk '{print $2}' 

로 구할수 있는데

 

일단 ps -ef라는 명령어 조차조 하나의 프로세스로 본다. 

그래서 ps-ef | grop tomcat8 로 명령어를 입력할경우 아래와 같이 표시가 되는데

보면 grep도 하나의 ps로 읽혀 있는걸 볼수 있다 그래서 이부분을 제외하기 위해 -v grep을 추가하면 grep이 들어간 부분은 제외 시킨다.

 

-v grep을 사용하여 tomcat8만 빼낸 경우

그리고 나서 awk라는 명령어를 통해 아래 그림처럼 빨간 괄호사이의 내용을 토큰화 시켜줌

예를 들어 아래와 같은 내용이 있다면 

이런식으로 분리를 해준다. 

그래서 awk '{print $2}' 의 의미는 awk를 적용후 두번째줄 1912를 가져온다는 내용이 된다. 

pid만 가져오는 부분

그래서 결국 위 명령어와 kill을 조합하면 원하는 pid를 kill할수 있게 되는데 주의할 부분은

sudo kill `ps -ef | grep tomcat8 | grep -v grep | awk '{print $2}'`(백틱으로 감싸서 실행을 해야함, 백틱은 치환명령어)

 

 

**추가로 직접 위치에 들어가서 실행/중단 시키는 방법

sudo systemctl status tomcat8 를 입력하면 아래와 같이 정보가 뜨는데 빨간 밑줄친 부분이 해당 시스템의 위치임

cd /etc/init.d 명령어를 친후

이동해서 sudo ./tomcat stop 명령어를 실행하면 중지되고 sudo ./tomcat8 start 명령어를 사용하면 시작됨

 

'개발 > Linux' 카테고리의 다른 글

리눅스 명령어 모음 [로그보기]  (0) 2022.09.30
리눅스 명령어 모음 [파일 찾기]  (0) 2022.09.30
리눅스 명령어 모음 [권한]  (0) 2022.09.29
리눅스 명령어 모음 [vim]  (0) 2022.09.29
DB 연결확인  (0) 2022.06.13