14. 프로세스

2022. 9. 25. 21:16Linux

프로세스

  • 컴퓨터의 cpu에서 실행되는 모든 프로그램을 프로세스라고 합니다.
  • App이 실행되어 메모리에 Load된 상태입니다.
  • 각각의 프로세스마다 고유 번호의 PID(Process ID)를 하나씩 증가하며 부여합니다.

 

foreground 프로세스

우리가 일반적으로 사용하는 프로세스 방식입니다. Process가 Shell을 점유하여 다른작업이 불가능합니다.

단, 인터럽트가 가능합니다. Ctrl + c : 프로세스 죽이기, Ctrl + z : 프로세스 멈추기(재시작 가능)

# ping 8.8.8.8으로 프로세스를 점유하면 ls명령어를 입력해도 반응이 없습니다.

Ctrl + c로 프로세스를 중지시킬 수 있습니다.

 

background 프로세스

Process가 Shell을 점유하지 않아 다른 작업이 가능하지만 인터럽트가 불가능합니다.

종료시키려면 foreground로 변환시키고 종료시키거나 kill 명령어로 바로 종료시킬 수 있습니다.

명령어 끝에 &을 붙여 background로 실행하면 ls 명령어가 동작합니다.

 

background를 fg %1로 foreground로 전환시켜 ctrl + z로 멈출 수 있고 다시 실행시킬 수도 있습니다. 

이때 %뒤의 숫자는 jobs 명령어로 확인할 수 있습니다.

 

# ps [옵션]

옵션 -

e : 모든 프로세스의 정보 출력

f : 프로세스의 다양한 정보 출력

a : 실행중인 전체 사용자의 모든 프로세스 출력

u : 프로세스를 실행한 사용자 정보와 프롯세스 시작 시간 등 출력

x : 제어 터미널을 갖지 않는 프로세스 출력

 

모든 프로세스의 다양한 정보를 출력해보겠습니다.

# ps -ef

 

프로세스를 종료시키는 명령어를 알아보겠습니다.

# kill [옵션]

옵션 -

9 : 프로세스를 죽입니다.

15 : 디폴트 옵션입니다.

ps -ef로 확인한 ping 8.8.8.8의 PID가 45968입니다. 이 프로세스를 죽여보겠습니다.

# kill -9 45968

ping 8.8.8.8이 사라졌습니다.


서버에 접속한 다른 사용자를 kill로 접속을 끊을 수 있습니다.

w 명령어로 현재 접속중인 사용자들을 확인할 수 있습니다.

사용자 uA, uB가 pts/2, pts/3으로 접속중인 것을 확인할 수 있습니다.

 

ps 명령어로 확인하여 프로세스를 죽여보겠습니다.

# ps -ef | grep pts

 

유저측에서 접속이 강제로 끊긴 모습입니다.

 

'Linux' 카테고리의 다른 글

1214수업, 리눅스xe복습, 윈도우관리,  (3) 2022.12.14
1213수업. httpd, xe설치  (3) 2022.12.13
13. source로 Apache 웹 서버 설치, 스크립트  (3) 2022.09.25
12. local repository  (3) 2022.09.25
11. quota로 용량 제한  (3) 2022.09.25