서버/리눅스

[리눅스] 프로세스

장동규 2017. 3. 31. 21:37

프로세스란 프로그램이 실행되어 메로리에 적재된 상태이다.


#1 포그라운드 프로세스 ( command > enter )

메모장, 브라우저같이 화면을 출력해 입력을 하면 출력을 통해 결과를 눈으로 볼수있는 프로세스이다.

쌍방향으로 대화한다고 해서 "대화형" 프로세스라고도 한다.

-맨 앞에 보이는 작업공간


#2 백그라운드 프로세스 ( ctrl + z )

포그라운드 프로세스 뒤에 있는게 전부 백그라운드라고 생각하면된다.

멀티테스킹을 통해 내가 웹서핑을 하고있으면 뒤에서 실행되는 음악파일, 인쇄, 백신, 다운로드...들이 백그라운드 프로세스이다.

자신이 활성화 될때까지 자신의 일을 꾸준히 하고있기도 하지만 실행을 대기할 수 도있다.


#>jobs : 백그라운드 목록확인

#>fg <list_num> : 백그라운드 num을 통해서 포그라운드로 꺼낸다




백그라운드에서는 프로세스를 종료할 수 없기에 포그라운드로 꺼내와야한다.



ctrl + z : 현재 포그라운드 프로세스를 중단하고 백그라운드로 보낸다

command 뒤에 & : 명령어를 백그라운드에서 실행한다.


# is currently used by process xx : xx프로세스 사용중 !


xx프로세스가 사용중인걸 확인하는 방법?


#3 프로세스 확인

#>ps : 프로세스 확인

[옵션]  a : 현재 실행중인 모든 프로세스 출력

         u : 프로세스의 사용자 이름, 시간

         x : 다른 사용자의 완료되지 않은 프로세스를 같이 출력

    1) #>ps aux 


        e : 프로세스의 실행 환경

-f: full format

가장많이사용    2) #>ps -ef 


---> #>ps -ef | grep xx : xx번호의 프로세스를 찾아낼수있다.


UID : 사용자 번호

PID : 프로세스 번호

PPID : 부모 프로세스 번호


?부모프로세스 번호 : 한 프로세스가 실행되기위해 필요한 프로세스의 PID

 A라는 프로세스가 실행되기위해서 B라는 프로세스가 필요하다면

A라는 프로세스의 PPID = B의 PID


쉘, 명령어들이 동작하려면 로그인이 되어야 한다.

#>top : 프로세스 전체출력 : 나가기 q


#4 프로세스 종료

#>kill <P I D>


option -p 강제종료

#>kill -p <P I D>