프로세스는 하드 디스크에 저장된 실행코드가 메모리에 로딩되어 활성화 된 것을 의미한다.
프로세스 번호
각각의 프로세스에 할당된 고유번호를 말한다.
명령으로 현재 프로세스의 상태를 확인 하는 경우에는 ps 명령을 -ef 옵션과 함께 주로 사용한다.
결과로 <사용자> <프로세스 번호> <부모 프로세스 번호> ... 으로 나온다.
$ ps -ef | grep <프로세스 이름>
|
특정 프로세스를 종료하고 싶은 경우 kill 명령어를 사용한다.
위에서 얻은 프로세스 번호를 사용하면 된다.
그리고 강제 종료시는 -9 옵션을 같이 주면 된다.
$ kill -9 <프로세스 번호>
|
프로세스 이름으로 죽이려면 Pkill 을 사용하면 된다.
$ Pkill -9 <프로세스 이름>
|
부모 프로세스와 자식 프로세스
모든 프로세스는 부모 프로세스를 가지고 있다.
부모 프로세스를 kill 하면 자식 프로세스도 자동으로 kill 되며
부모 프로세스 확인은 pstree 명령을 사용한다.
-p 옵션으로 프로세스 번호를 같이 확인할 수도 있다.
$ pstree
|
포그라운드 프로세스
실행하면 화면에 나타나서 사용자와 상호작용을 하는 프로세스로 대부분의 응용 프로그램에 해당한다.
백그라운드 프로세스
실행은 되었지만, 화면에 나타나지 않고 실행되는 프로세스로 웹서버 DB 서버 백신 같은 프로그램에 해당한다.
백그라운드 프로세스는 실제로 시스템에 의해서 구동되고 있는 프로세스는 화면에 나타나지 않으며
프로세스 번호 외에도 작업 번호 ( jobs 로 조회시 나타나는 ) 라는 것을 가진다.
아래는 무한루프를 도는 프로그램을 하나 실행시키고 bg 명령으로 프로그램을 백그라운드 프로세스로 변경했다가
작업 번호를 조회하여 다시 포그라운드 프로세스로 변경하고 있는 예이다.
위의 예는 그냥 설명하기 위한 예이고 사실 프로그램을 실행시에
백그라운드 프로세스로 실행하고자 하면 뒤에 & 만 붙여주면 된다.
'LINUX > Ubuntu' 카테고리의 다른 글
21. 소켓 (0) | 2020.01.29 |
---|---|
20. 서비스 ( 데몬 ) (0) | 2020.01.29 |
18. 파이프, 필터, 리디렉션 (0) | 2020.01.29 |
17. 작업에약 (0) | 2020.01.29 |
16. 네트워크 설정 (0) | 2020.01.29 |