본문 바로가기

Linux

Process 관리

[process]

  - App이 실행되서 Memory에 Load 된 상태
  - 반드시 Memory에 Load 상태여야만 Process라 지칭
  - /proc 디렉토리는 Linux kernel이 Memory에 Load 상태를 나타냄(해서 0 byte 디렉토리)
     
  -상태
      ForeGround
        - App이 Linux Shell을 점유
        - 동일 Shell 다른 APP 실행 불가
        - 인터럽트 가능 (Ctrl + C 종료, Ctrl + z 멈춤 -> 재실행 작업번호 확인 후 fg or bg)


     Background
        - App이 linux Shell을 점유하지 않음
        - 다른 App 실행 가능

 

 

fg(foreground)

  - 백그라운드로 실행되고 있는 프로세스를 포그라운드로 전환

 

  - 형식

      fg %작업번호  (번호 미입력시 가장 최근 프로세스가 포그라운드로 전환됨)

 

bg(background)

  - 프로세스를 백그라운드로 실행

 

  - 형식

      명령어 &

 

 

jobs

  - 현재 작업중인 프로세스 정보를 출력

 

 

ps(process)

  - 프로세스 목록, 상태 확인

  - 많은 옵션이 있지만 -ef 옵션만으로 충분함

 

  - 형식

       ps [옵션]

        

       *옵션

           -e : 커널 프로세스를 제외한 모든 프로세스 출력

           -f  : 풀 포맷으로 표시한다, UID, PID 등이 함께 표시됨

   

         

kill

  - 프로세스에 시그널을 보내 해당 작업을 수행하도록 하는 명령어

 

  - 형식
       kill [옵션] 프로세스번호(PID)

 

       * 옵션

          -l               : 시그널 번호 목록 확인

          -1              : SIGHUP, 프로세스 재시작

          -9(ctrl+c)   : SIGKILL, 프로세스 강제종료

          -18            : SIGCONT, continue를 의미, 정지됐던 프로세스을 다시 시작

          -19(ctrl+z) : SIGSTOP, 프로세스 정지

 


참고)

    tty(콘솔 접속, centos 직접 접속)

    pts(가짜 터미널 접속, 원격접속)


백그라운드와 포그라운드는 vi 에디터 정리 때 한번 사용한 적이 있다

복습겸 다시 한번 실습 해보도록 한다

 

vi 편집 도중 ctrl + z로 프로세스 정지 후 백그라운드로 전환

fg %1로 포그라운드로 전환 해줘야 정상적인 종료가 가능하다

만약 정상적인 종료를 하지 않고 다시 한번 같은 파일을 vi 편집기로 열면

swp 파일이 생성되는데 이 swp 파일은 정상적으로 종료가 안되었을 때 생성되는 백업용 파일이다

vi 편집기를 정상적으로 종료 시키면 자동으로 삭제되지만 그렇지 않을 경우 남아 있게 되고

파일 수정에 문제가 생길 수 있기 때문에 직접 삭제 해줘야 한다

 

정상 종료가 아닌 kill -9 명령어로 프로세스를 강제종류

포그라운드 전환 후 종료가 아니라 kill -9 명령어로 프로세스를 강제로 종료 했을 경우

이렇게 .services.swp 파일이 삭제되지 않고 남아있는 것을 확인할 수 있다

 

1번 세션

이번에는 세션을 하나 더 생성해서 한쪽은 ping을 보내고 한쪽은 ps 로 프로세스를 확인 해보자

 

2번 세션
1번 세션 ping 프로세스 정지

kill -19(SIGSTOP) 38015(PID) 명령을 입력하니까 ping 작업이 정지되고 백그라운드로 전환된 것을 확인할 수 있다

다음은 정지된 프로세스를 다시 시작 시키는 -18(SIGCONT) 옵션을 입력해보자

kill -18 로 재시작

정지됐던 ping 프로세스가 다시 동작하는 것을 확인할 수 있다

마지막으로 강제종료 -9(SIGKILL)옵션을 입력 해보면

 

1번 세션 ping 프로세스 종료

ping 프로세스의 종료까지 확인할 수 있다

'Linux' 카테고리의 다른 글

DHCP(2)  (0) 2022.09.27
DHCP(1)  (0) 2022.09.27
apache, script로 설치 자동화 하기  (0) 2022.09.23
Source 파일로 패키지 설치  (0) 2022.09.21
Local Repository  (0) 2022.09.21