'UNIX'에 해당되는 글 2건

Unix/Linux ps -ajx 명령시 프로세스 상태stat 컬럼

IT/Linux/Unix


3개의 필드로 구성되어 프로세스 상태를 보여준다.


첫 번째 필드
D                  io와 같이 중지(interrupt)시킬 수 없는 잠자고 있는 (휴지) 프로세스 상태
R                  현제 동작중이거나 동작할 수 있는 상태
S                  잠자고 있지만, 중지시킬수 있는 상태
T                  작업 제어 시그널로 정지되었거나 추적중에 있는 프로세스 상태
X                  완전히 죽어 있는 프로세tm
Z                  죽어 있는 좀비 프로세스

 두 번째 필드
<                  프로세스의 우선 순위가 높은 상태
N                  프로세스의 우선 순위가 낮은 상태
L                  실시간이나 기존 IO를 위해 메모리 안에 잠겨진 페이지를 가진 상태
s                  세션 리터(주도 프로세스)
I                   멀티 쓰레드
+                  포어그라운드 상태로 동작하는 프로세스



Linux/Ubuntu, ls 명령어 구현 1단계, 디렉토리 파일 정보 출력 -1

IT/프로그래밍 과제



프로그래밍 과제 1, 

- ls 명령어 구현 디렉토리 파일 정보 출력


프로그래밍 과제1은 터미널에 ls -al /etc를 써넣었을 때와 동일하게 출력하는 과제다.

다른 부분은 전부 같아야하며, 단 출력시 색상은 출력부분은 구현하지 않아도 된다.


먼저 사용 OS, ubuntu terminator에서 ls -al /etc를 쳐보았다.



원래대로 라면 출력되는 정보가 뭔지도 몰랐을 텐데, 

4학년 여름방학 때 받은 교육 탓에 출력되는 정보가 뭔지 알게 되었다.


앞에서 부터 파일 권한, 하드링크 수, 유저명, 그룹명, 크기, 날짜, 시간, 파일 이름, 링크일시 원본 위치 순이였다.

이 과제를 수행하려면 필요한 것이 무엇인지 생각했다.


- 우선 파일 정보를 읽어오려면 디렉토리 open을 해야했고, 그리고 정보들을 저장할 자료구조가 필요했다.

- 그리고 파일 명을 보니 정렬이 되어 있어 sort함수가 필요했다.


그렇게 크게 3가지로 생각하고 함수 구현을 시작 했다.

자료구조는 내가 알고 있던 기본이 되는 단일 Linked list를 구현하기로 했고, 

정렬은 Bubble sort를 사용하기로 했다.


필요한 함수들과 동작 방법을 생각하며 main부터 차근히 코딩을 하기 시작했다.


Continue..