[centos] 프로세스

2019. 3. 24. 22:35study/centos 7 server & network

1. 프로세스

:  하드디스크에 저장된 실행코드(프로그램)이 메모리에 로딩되어 활성화된 것이다.


1.1. 포그라운드 프로세스

: 실행하면 화면에 나타나서 사용자와 상호작용을 하는 프로세스

ex) 대부분의 응용프로그램


1.2. 백그라운드 프로세스

: 실행은 되었지만, 화면에는 나타나지 않고 실행되는 프로세스

ex) 백신 프로그램, 서버 데몬 등


1.3. 프로세스 번호

: 각각의 프로세스에 할당된 고유번호


1.4. 작업 번호

: 현재 실행되고 있는 백그라운드 프로세스의 순차번호

> 프로세스 번호와는 별개의 개념이다.


1.5. 부모 프로세스와 자식 프로세스

: 모든 프로세스는 부모 프로세스를 가지고 있다.

> 부모 프로세스를 죽이면, 자식 프로세스도 자동으로 죽는다.




2. 관련 명령어


- ps 

: 현재 프로세스의 상태를 확인하는 명령어


[root@localhost ~] ps -ef | grep 프로세스 이름 # 많이 사용하는 형태





 root       77165             68863
사용자  프로세스 아이디   부모 프로세스 아이디  


- kill 

: 프로세스를 강제로 종료하는 명령어


[root@localhost ~] # kill -9 프로세스 번호 # 강제 종료




- pstree

: 부모 프로세스와 자식 프로세스의 관계를 트리 형태로 보여준다.



- bg 

: 현재 실행되고 있는 프로세스를 백그라운드 프로세스로 전환한다.


: 프로세스가 실행되고 있을 때 Ctrl + z 를 누르면 일시정지 상태가 된다.

: 이후 bg 명령어를 사용하면 일시정지된 프로세스가 백그라운드 프로세스로 전환된다.



- fg 작업번호

: 현재 실행되고 있는 프로세스를 포그라운드 프로세스로 전환한다.


: 백그라운드 프로세스로 전환될 때, 작업번호가 부여된다.

[1] + yes > /dev/null &


: 해당 작업번호의 프로세스가 포그라운드 프로세스로 전환된다.


- &

: 포그라운드 프로세스가 백그라운드에서 돌 수 있게 해준다.

> 만약, gedit을 백그라운드로 돌리면, 새 터미널을 열지 않아도 기존 터미널에서 작업을 계속할 수 있다.

* 단, vim과 같이 터미널에서 사용해야 하는 것은 의미가 없다.


: 원래 gedit을 사용하면 기존 터미널을 사용할 수 없다.

> gedit이 터미널을 사용하고 있기 때문에 (포그라운드 프로세스)


: & 명령어를 사용함으로써 백그라운드에서 돌리면, 기존 터미널에서 작업을 계속할 수 있다.


'study > centos 7 server & network' 카테고리의 다른 글

[centos] 하드디스크  (0) 2019.03.26
[centos] 서비스  (0) 2019.03.25
[centos] 파이프, 필터, 리다이렉션  (0) 2019.03.24
[centos] 네트워크 관련 명령어, selinux  (0) 2019.03.24
[centos] cron & at  (0) 2019.03.17