상세 컨텐츠

본문 제목

Linux - 프로세스

Development/Linux

by thisisnew 2022. 12. 13. 00:01

본문

반응형

 

7. 프로세스

 

7-1. 프로세스란

 

프로세스란 메모리 위에 올라간 프로그램을 의미합니다.

메모리에 올라간 프로그램, 즉 프로세스를 cpu가 실행하게 되죠.

 

같은 프로그램을 중복해서 실행하더라도 각각의 프로세스는 개별 메모리를 가지게 됩니다.

그래서 내부적으로 꼬일 일이 없습니다.

 

리눅스 커널의 중요한 기능 중 하나가 바로 프로세스를 관리하는 것입니다.

그래서 프로세스를 관리하기 위해 각각에 PID라는 고유 번호를 할당하게 됩니다.

 

7-2. ps 명령어

 

현재 시스템에서 실행 중인 프로세스의 목록을 출력할 때는 ps 명령어를 사용하면 됩니다.

ps

여기서 CMD가 실행한 명령어를 뜻하는데요.

bash는 현재 실행되고 있는 셸을 의미하고, ps는 방금 입력한 명령어입니다.

 

만약 다른 터미널에서 실행 중인 프로세스나, 데몬 프로세스를 출력하기 위해서는 옵션 x를 붙여줘야 합니다.

그러면 실행되고 있는 모든 프로세스를 볼 수 있습니다.

ps x

여기서 TTY가 물음표(?)인 것이 보이는데요.

이 프로세스들은 데몬을 의미합니다.

 

리눅스에서 새로운 프로세스는 기존 프로세스를 기반으로 만들어집니다.

그래서 기존 프로세스를 부모 프로세스라고 하고, 새로 만들어지는 프로세스를 자식 프로세스라고 합니다.

 

위의 x옵션에 f옵션을 추가하면 프로세스 간 부모 자식 관계를 볼 수 있습니다.

ps xf

 

사용자가 실행한 프로세스 외에도 시스템을 위해 동작하고 있는 프로세스들도 있습니다.

이런 프로세스들은 대부분 슈퍼 사용자의 권한으로 실행됩니다.

이런 프로세스들을 확인하기 위해서는 a옵션을 사용하면 됩니다.

ps ax

 

ps 명령어에 딸려있는 옵션은 man 명령어를 통해 추가적으로 확인할 수 있습니다.

man ps

반응형

'Development > Linux' 카테고리의 다른 글

Linux - 텍스트 처리 (2)  (0) 2022.12.25
Linux - 텍스트 처리 (1)  (0) 2022.12.24
Linux - 슈퍼 사용자  (0) 2022.12.12
Linux - 퍼미션 (2)  (0) 2022.12.11
Linux - 퍼미션 (1)  (0) 2022.12.11

관련글 더보기

댓글 영역