2023년 리마2급 기출문제 프로세스 우선순위와 NICE
안녕하세요 오늘은 리눅스 마스터 2급 기출 문제를 한번 같이 풀어 보려고 합니다
이번 리얼리눅스안에서도 리눅스 마스터 2급 자격증 준비 수업을 개강 하게 됐습니다
어, 차근차근히 영상을 업로드 하고 있고요 유튜브를 통해서도 기출 문제, 풀이 시리즈로 하나씩 좀 올려 볼 예정입니다 저희가 리눅스 강의도 진행을 하면서 리눅스 마스터 2급 자격증 수업을 운영하는 것과 또 유튜브를 통해서 이렇게 기출 문제를 풀이하는 이유가 좀 있어요
왜냐하면 리눅스 마스터 2급을 사실 준비하시는 분들이 정말 많이 있어요
계속 늘어나고 있고 통계 수치를 보게 되면 그런데 사실 합격률이 20% 정도 밖에 안 됩니다
사실상 준비를 하시고 80%는 다 불합격 한다라고 보시면 되거든요
그런데 실제로 블로그 라든지 이런 데 많이 검색해 보고 찾아보게 되면 일주일 심지어는 하루 이틀 벼락 치기를 해서 자격증을 따시는 분들도 당연히 있죠
그런데 또 그런 걸 보고 준비를 하느라고 이런 거를 굉장히 좀 만만하게 보는 경우들도 많이 있고요
그리고 이제 암기 식으로만 그렇게 해서 땄기 때문에 사실상 그냥 껍데기 자격증이고 그게 나중에 기술 면접 이라든지 또 실무에 들어가서도 수습 기간을 통과할 수 있을 만한 어떤 힘을 실어 다 주지 못하는 경우들이 정말 많이 있습니다.
그래서 이왕 딸 거면 물론 적은 날짜들 그러니까 하루 이틀만 투자하고 그냥 자격증만 획득하고 싶으신 분들도 있겠지만, 그런 분들이라면 저희랑 함께 하실 필요는 없어요
그리고 유튜브도 사실 그런 분들에게는 도움이 많이 안 되실 거예요
그런데 내가 한 달이 됐든 두 달이 든 투자를 해서 좀 제대로 따고, 나중에 기술 면접 이든 실무든 장기적으로 볼 거다 단기적으로 지금 코 앞에 있는 것만 하려는 게 아니라 궁극적인 것까지 같이 보겠다 라고 하신다면 유튜브든 또 필요하다면 이런 리얼리눅스 홈페이지 안에 있는 리눅스 마스터 2급강의도 함께 하시면 좋을 것 같습니다
자, 일단은 기출 문제 한 번 가보도록 할게요
2023년도에 2차 필기 문제고요 12월 9일에 출제 됐던 문제입니다
25번 문제고요 nice 입니다.
이거를 당연히 암기 방법으로 접근할 수 있어요 그런데 이 암기식으로 접근했을 때의 문제점이 뭐냐 결국에 또 응용이 되고 변경이 조금씩 될 거예요 물론 이제 비슷한 문제들도 있지만 결국에는 이런 문제들이 바뀌어질 때는 다양하게 응용들이 들어갑니다 그럼 그 경우의 수에 따라서 다 외워야 된다는 얘기가 되는데 물론 그게 가능하신 분들도 있겠지만 그렇게 억지로 억지로 이해도 안 되는데 외우는 거 자체가 굉장히 힘든 분들도 많이 계세요 그래서 저희 강의를 통해서 함께 공부를 하든 아니든 아니든지간에 저는 추천을 좀 드리는 게 이 실습 환경과 함께 하는 걸 계속 추천을 드립니다 이것을 또 어떻게 실습을 하냐? virtual box 설치하고 용량이 10~20G씩 드는데 또 해야 되느냐? 그것 때문에 리얼리눅스안에서는 강의를 수강하고 않으셔도 교육용 클라우드를 쓰실 수가 있어요 그래서 AWS 에 프리티어 ec2 같은 가상 머신을 똑같이 쓰실 수가 있거든요 그래서환경을 한 번 띄워 할게요
일단 리얼리눅스 사이트 들어가셔서 로그인을 해주시면 구글 계정 기준으로 로그인이 가능하고요 로그인을 하고 나시면 나의 실습 환경 안에서 우분투 ,로키 등 다양한 환경들을 쓰실 수 있습니다 일단 리눅스 마스터 자격증에서의 기준은 Rocky입니다 Rocky 이고 물론 이제 1급에서만 실기 시험이 있고 2급에서 실기 시험이 없어요
네, 그렇긴 하지만 실제로 리눅스 마스터 2급에서 가장 출제가 많이 되는 그런 명령어 사용법에 대한 어떤 문제들은 결국엔 외우는 거보다 한 번 두 번이고 직접 입력해 보는 게 더 기억 속에도 머리에 오래 많이 남고요 응용 적인 대비 그러니까 출제가 예상되는 문제들도 대비 하기가 좋아요 그래서 저는 실습을 많이 강조를 드리고요 디스크는 삭제하고 다시 만드셔도 되고요
최초에 생성 하시면 생성하는 이미지가 나올 수 있습니다 그래서 버튼이 나올 수 있어요 그래서 그거를 누르시고 실행을 하면 부팅 과정이 좀 들어가기 때문에 약간 시간이 걸립니다 그래서 조금 기다리셨던 접근하시면 되고요 기기 보면 이제 초록색 버튼으로 터미널 실행 버튼이 생길 거예요 그래서 그거 누르셔서 바로 실습 하시면 됩니다 그래서 웹 환경 이기 때문에 리눅스를 언제 어디서든 편하게 쓸 수 있다라는 게 굉장히 강점 이고요 여러분들이 공부하실 때 활용해 주시면 될 것 같아요 일단은 우리가 그 Rocky를 지금 사용 중에 있는데요
Rocky 8 이고요 지금 nice 명령어로 물론 그대로 입력해 볼 수 있습니다 그런데 그거를 진행을 하기 전에 nice에 대한 이해도를 조금 갖추는 게 좋겠죠
자, 일단은nice 라고 하는 거에 대한 거를 설명을 좀 드려보도록 하겠습니다 nice는 프로세스들 마다 가지고 있는 그 수치 중에 하나예요
그래서 친절도를 뜻하게 되고 이게 결국에 우선 순위를 뜻하게 됩니다
그런데 nice 라는 표현이 결국에는 그 반대를 의미하게 되는데 무슨 말이냐면 우선 순위라는 표현 지표 라면 우선 순위가 높냐 낫냐 이렇게 편하게 이해할 수 있겠지만 nice는 친절도가 높냐 아니냐, 그러니까 CP 를 더 잘 양보를 해줄 수 있냐, 없냐 이렇게 판단을 해요 그래서 기준 값은 0이고요 0이하면 사실상 조금 우선 수가 높다라고 판단할 수 있겠고요 양수에 해당되면 0 보다는 좀 크게 숫자가 되어 있다면 친절도가 높다라는 거고, 친절도가 높다는 건 내가 당장 CPU 를 안 써도 돼 좀 더 양보를 먼저 할게 그래서 급한 친구들 시스템 네트워크나 디스크를 다루고 조금 우선 순위가 높은 친구들이 먼저 CPU 를 점유
된다 라고 설정을 하는 게 nice값을 좀 높이는 방법입니다
그래서 이게 반대로 되다 보니까 이해도가 조금은 헷갈릴 수 있어요
이해가 바로 안 되고, 그래서 이런 부분들이 조금 헷갈리는 요소인데 실제로 그 실습을 해가면서 이해를 할 수 있습니다
일단은 top 피를 한번 입력을 해 보시죠
top 를 입력을 하시게 되면은 지금 보이는 그 시스템 정보와 그리고 프로세스 정보들을 볼 수가 있어요
물론 여기 보이는 시스템 정보들을 다 이해하는 거는 사실 초보 레벨이 아닙니다 절대 초보 레벨이 아니고요 리눅스 명령에 있는 결과를 다 이해하려고 하는 것보다는 일단 핵심 포인트를 가지고 핵심 기능을 먼저 활용하는 걸 추천드려요 그 다음에 조금씩 더 많이 활용할 수 있게끔 하는 거, 이런 접근이 굉장히 중요합니다 근데 너무 완벽주의처럼 접근 하면은 하나하나를 다 이해하려고 하실 수 있고 하나라도 이해해 못 하는 게 있으면 엉망 진창 이라고 생각하신 분들도 계시겠지만 그러시면 안 돼요 리눅스는
조금씩 조금씩 핵심적인 기능 부터 익숙해지고 나서 하나씩 하나씩 늘려가는 방식으로 경험적으로 접근하는 게 굉장히 많이 필요합니다 일단 보시면 이게 다 프로세스 예요
결국에 프로세스 들이고 NI 라고 하는 수치만 일단 보시죠
이거는 이제 nice라는 값을 지칭하는 되고요 -20이라는 표현과 마이 0이라는 수치 들이 좀 보이죠?
그래서 좀 극단적으로 PPT 로 봤을 때 우선 순위가 굉장히 높거나 그렇지 않으면 0 기본 값이 거나 이 둘 중 하나로 많이 세팅이 돼 있는 걸 볼 수 있어요 근데 물론 이제 nice값은 되게 다 새롭게 설정이 가능합니다 그런데 프로세스가 일단 처음에 만들어지게 되면 0이 보통 이라고 보실 수가 있겠고요
그 다음에 이제 -20 그리고 이제 우선 순위가가 굉장히 높은 걸로 그냥 바로 지정이 될 수도 있어요
그런데 이거는 프로세스마다 다르겠지만 그 중에서도 커널 프로세스 같이 시스템을 좀 다뤄야 되는
중요한 프로세스들은 이렇게 우선 순위가 높은 경우들이 많고요 일반 프로세스는 0 그런데 예를 들어서 뭐 이제 영상 편집을 하거나 좀 응용 레벨에서 좀 나중에 해도 되는 그런 프로세스 들은 nice값이 조금 높게 측정되는 경우들도 있습니다 그래서 우리가 기본 값이 라든지 이런 것들을 실제로 보면 nice가 이런 식으로 구성이 되는구나 그래서 우선 순위 값들을 기본적으로는 0이라는 거를 기준으로 해서 배정을 받는구나 이렇게 알 수가 있는 거예요
그리고 이제 명령어로 따졌을 때 이거 말고도 우리가 명령어를 쓸 수 있는 게 있죠
자, 보시게 되면 나가는 건 Q 아니면 컨트롤 C 이런 걸로 나갈 수가 있겠고요 ps-ef 입니다
이거는 우리가 꼭 외워야 되는 명령어 중에 하나예요 제가 암기하는 걸 별로 좋아하지는 않지만, 실제 우리가 리눅스 공부를 할 때 꼭 암기를 하고 자주 써야 되는 것들이 있어요 그게 뭐냐면 정보를 추출해 내는 명령어입니다 디스크 용량 네트워크 프로세스 갯수, 코어 갯수 메모리 이런 거부터 시작을 해서
다양하게 정보를 끌어내는 그러니까 단순 어떤 특정 제어 기능이 아니라 정보를 끌어내는 이러한 명령어들은 외우셔야 되고 많이 써 보셔야 돼요 그리고 많이 쓰다 보면 자연스럽게 외워집니다
사실상 그래서 적어서 외우는 것보다 자주 입력을 해보는 거예요
예를 들어서 지금 시스템 정보를 그냥 보는 거예요 코어가 몇 개인지 메모리가 지금 어떻게 되는지, 지금 디스크 용량 어떻게 되는지 이런 거부터 시작해서 프로세스가 지금 어떤 게 돌고 있는지 every프로세스를 쭉쭉 볼 수 있거든요 그래서 쭉 ps-ef를 통해서 프로세스 전체를 확인하는 것들, 이런 식으로 이런 확인하고 체크하고 정보를 뽑아내는 그런 명령어들은 자꾸 입력을 해 보셔야 됩니다
그래서 이 자체가 리눅스 시스템에 큰 영향을 주는 게 아니기 때문에 그냥 딱히 지금 많이 필요하지 않더라도 자주 입력해 버릇 하다 보면은 리눅스가 이 검정색 터미널에서 잘 보이지 않잖아요
그런데 그거를 더 제어하고 컨트롤할 때 더 자신감이 많이 붙을 실 거예요
그래서 정보를 추출해 내는 명령어 중에 하나죠 ps-ef 에서 wc -l 을 보게 되면 현재 프로세스가 헤더를 제외하고 나서 106개 정도가 있다라는 걸 볼 수 있어요
그러니까 이것도 이제 우리가 정보를 추출해 내는 것 중에 하나죠 만약에 이제 막 프로세스를 많이 실행하면 프로세스 개수가 많을 거고요 지금은 좀 100개 정도 전후 또 프로세스는 늘어나기 하고 줄어들기도 해요 그래서 실시간으로 바뀔 수 있는 정보 이기도 합니다 그런데 이 프로세스에 대한 부분을 볼 때
지금 ps-ef를 할 때 우리가 헤드의 10라인만 한 번 볼까요 ?
보면은 이렇게 프로세스 ps-ef하면 헤더 정보가 있고요 헤더 정보가 각각의 항목들을 뜻하게 됩니다
이 각각의 항목들을 우리가 지정해서 출력을 할 수도 있어요
무슨 말이냐면? ps-ef 하는 거 대신에 eo를 누르 거요 eo를 통해서 우리가 pid nice 값 그리고 커맨드가 뭔지 이런 식으로도 출력을 할 수 있어요 그러면은 위에 보이는 컬럼들을 내가 직접 지정을 하게 되는 거거든요 그래서 동일하게 헤드를 통해서 5라인만 한 번 봐볼까요
이런 식으로 추출해서 을 볼 수가 있는 거예요 그리고 명령이 길게 떨어지려고 그러면은 이렇게 커맨드 가 아니라 이제 args라는 걸 또 줘야 돼요
이렇게 주시게 되면은 이렇게 옵션 까지 포함해서 커맨드 에 대한 부분을 딱 단일하게, 그 명령은 그 자체만 보여주는 게 아니라 뒤에 보이는 옵션들 까지도 같이 볼 때는args라는 걸 또 주시면은 볼 수가 있습니다 이런 것들은 그냥 하나씩 다 외우고 완벽주의 적으로 접근 하기보다는 그냥 주어진 것들 같이 실습 해 보면서 이렇게도 해보고 저렇게도 해보고 그리고 새로운 명령어 들을 좀 추출해 내고 만들어 내고 싶다 보면 생성 AI 를 활용하는 것도 방법이에요
그러니까 커맨드 라인에 조금 나는 이런 의도로 한 번 커맨드 라인 옵션을 구성해 보고 싶은데, 내가 이 커맨드라인에 익숙하지 않고, 어떤 옵션들이 어떻게 있는지를 잘 모르니, 그 옵션에 대한 어떤 설명들이 잔뜩 들어 있는 공식 문서들을 생성하는 AI GPT 같은 데 넘기고 커맨드 라인을 뽑아내는 것도 방법이죠
그렇게 해서 이렇게도 해보고 저렇게도 해보고 그래서 나는 논리적인 사고를 하면서 계속 써보고
경험하는 거 실수 했으면 다시 맞추면 되죠 그래서 그런 식으로 훈련 하시게 되면은 내가 억지로 이렇게 뭔가 깜지처럼 적어가지고 외우고 이러지 않아도 자연스럽게 많이 머릿속에 익숙해 지실 거고, 그게 또 기술 면접이나 실무 에도 바로바로 적용이 됩니다 지금 당장은 좀 느려 보이지만 훨씬 더 빠른 길이라는 걸 계속 말씀드리고 싶어요
여기 보이는 NI 가 결국에 nice의 줄인 말이고요 0과 -20 이런 것도 구성돼 있는것들이 함께 볼 수가 있어요 그래서 이런 식으로 ps 명령으로 도 볼 수 있고, top 명령으로 도 볼 수 있고 이제 문제로 좀 돌아가 볼까요?
문제로 배경 설명을 좀 했고요
nice라는 걸 앞에다가 뒀어요 그래서 nice 라는 명령어 자체를 실습을 하는 건데 이 nice가 뭔지를 한 번 보죠
what is nice 그러면 what is 앞에 붙이면 다양한 명령어들이 뭔지를 알 수 있어요
이런 게 중요한 겁니다 그러니까 특정 명령어를 제어 해서 쓰는 거 웹 서버 설치해 봤어요 db해봤어요
이런 것들의 경험도 물론 필요할 수 있겠지만 우리 리눅스를 다룸에 있어서 진짜 기본기들은 이런 정보를 추출해 내는 실력 입니다 그리고 nice라고 하는 이 명령어 가 뭔지를 한 줄로 설명해서 봤고 이게 우선 순위 값인 nice를 조정하는 거라는 걸 알 수가 있습니다 그래서 nice도 있고 사실은 renice라는 것도 있어요 뒤에서 살짝 볼 거지만 renice는 조금 다른 게 새로운 다른 명령어 고요 nice 는 새로운 프로세스를 실행 하면서 nice 값을 조정 하지만 renice는 지금 실행 중인 프로세스를 기준으로 해서 실시간적으로 조정이 가능한데 명령어입니다
그래서 이렇게 두 가지를 또 알고 계시면 이거를 사실은 처음에 모를 때야 좀 어렵게 느껴지지 이해하고
실습을 직접 해보시면은 머릿속에 굉장히 기억이 많이 남고요 그 자연스럽게 renice가 필요하다는 것도 알게 돼요 그리고 이것도 실습 해보고 응용해 볼 수 있고요
제가 엉망진창으로 nice값 변경해도 괜찮은가요?
괜찮아요 괜찮습니다 망가지면 어떻습니까?
만약에 제일 큰 문제가 생긴다면가상 머신, 클라우드 지우고 다시 생각하면 그만 이고요 아니면 재부팅 같은 거를 해줘서 디스크에 있던 정보들을 지우고 싶지 않으시다면 완전히 이미지를 지우기 보다 다시 만들면 그만 이죠
그래서 이런식으로 실습 해 보실 수 있는데 일단은 nice라는 명령어 자체는 이해를 해 봤어요
그런데 nice 라는 명령어를 한 번 이대로 한 번 실습을 한 번 해보도록 하겠습니다
nice bash일단은 그 기출 문제에 나온 거를 그대로 한 번 입력을 해 볼게요 nice bash 입력을 해보게 되면은 변화가 없습니다 그래서 이거를 굉장히 많이 헷갈려 하실 거예요
왜 그러냐면 어, 뭐지? 이렇게 생각이 될 거예요 그런데 이거는 어떤 상황인지 제가 말씀드릴게요
bash 라는 쉘 프로세스가 생성이 된 겁니다 그래서 exit를 하더라도 사실상 동일한 그림이 보일 거거든요 그런데 이거를 nice 를 하지 않더라도 사실 마찬가지예요 그게 무슨 말이냐면 지금 우리가 구동 되고 있는 bash의 그 프로세스 아이디를 확인하는 방법이 있어요
그게 뭐냐면 $$ 2개입니다 $$ 2개를 하게 되면은 ps -ef $$로 달러 두 개로 필터링을 해서 봤을 때 이 bash 프로세스 지금 터미널 해서 깜빡 깜빡 이면서 내가 명령어를 입력할 수 있는 이 명령어 반응형 쉘 이라고 하는 친구의 프로세스 아이디가 1247이라는 걸 알 수가 있겠고요 그냥 내가 bash라고 입력을 하잖아요 그러면 ps -ef grep 으로 봤을 때 이 똑같은 bash인 건 맞지만 프로세스 아이디가 좀 다르죠
그리고 아버지 프로세스가 1247이라는 걸 알 수 있겠고요 그러니까 지금 bash라는 프로세스가 자식 프로세스 bash를 낳은 거예요
또 다시 한 번 해볼까요?
bash를 그냥 입력을 하시게 되면 화면 상으로는 거의 똑같아 보이긴 하지만 사실은 좀 다른 거죠 왜 다시 한 번 자식 프로세스 인 bash를 만들어 낸 겁니다 그래서 아버지 프로세스가 1328이고요
지금 현재 프로세스 bash 쉘 프로세스가 1353 이라는 걸 알 수 있어요 그리고 exit를 하더라도 지금 다시 한 번 ps -ef를 통해서 보시게 되면 다시 아버지 프로세스로 돌아오게 된 걸 볼 수가 있겠고 exit 해가지고 ps -ef grep 를 통해서 현재 bash 쉘의 프로세스 아이디를 $$ 2개로 알 수 있다고 말씀드렸잖아요
입력을 해보게 되면 현재 bash 쉘이 다시 원상 복구가 된 걸 볼 수가 있습니다
그런데 여기서 exit 를 한 번 더 하면 이 터미널 자체가 다시 꺼져 버려요
한 번 해 볼까요?
이렇게 터미널이 꺼져 버리죠 왜냐면 이게 최초에 실행 됐던 쉘 이기 때문에 그렇습니다
그때는 다시 한 번 터미널 이렇게 실행을 해주시면 돼요 끄고 나면은 시간이 좀 지나면은 이제 같이 시스템이 종료되는 경우들이 간혹 있어요 그럴 때는 조금 기다리셨던 다시 접속을 하시면은 디스크에 있는 내용이 사라지지 않고 바로 붙어서 하실 수 있습니다 그래서 보통의 경우에 리눅스가 계속 살아 있으면은 그냥 바로 터미널이 실행될 수 있고 연결이 될 수 있다고 보시면 돼요 그런데 이거는 교육용 이다 보니까 사용하는 터미널이 아무것도 없을 때 자동으로 좀 종료되는 기능들이 좀 있어요 그래서 그런 부분을 참고하시면 될 것 같고요
자, 이렇게 해 가지고 다시 한번 ps -ef grep을 통해서 현재 bash 쉘 프로세스에 대한 아이디를 확인 했고요 이제 nice를 통해서 한 번 보죠 nice bash를 했어요
마찬가지로 bash라는 프로세스가 생성이 돼요 아버지 프로세스에서 자식 프로세스로 생성이 됐죠
그런데 여기서 사실 우리가 궁금한 건 nice값입니다
그래서 여기서 응용이 되는 게 뭐냐면 pid, nice, comm 이런 것까지 같이 볼까요?
이렇게 했을 때 우리가 지금 찾고자 하는 1283 그러니까 지금 접속하지 만들어진 쉘의 자식 프로세스의 nice값이 10라는 사실을 알 수 있습니다 그러니까 이렇게 한 번 실습을 해보고 나면 이렇게 nice라는 명령어를 준다는 거는 기본적으로 nice 프로세스를 시행하는 거기 때문에 기준 값인 0을 기준으로 프로세스를 시행하는 게 아니라 nice 한 프로세스를 그냥 생성해 버리는 거죠 그래서 10 정도를 지정을 할 수가 있게 되는 걸 알 수가 있겠고요 이런 것들은 또 매뉴얼 페이지 안에서도 확인이 가능해요
그래서 기본적으로 프로세스를 실행을 했을 때 디폴트 값이 10으로 지정이 된다라는 것도 체크가 가능하죠 처음에는 이런 것들 매뉴얼 페이지, 그리고 PS 명령어 이런 것들 처음 해보신 분들은 당연히 익숙하지가 않습니다 그런데 이거는 계속 해봐야 되는 거예요 실무에서도 계속 쓰는 거니까 그래서 처음에는 어렵게 느껴지지만 이걸 외우려고 하지 마시고요 계속 입력을 해보세요 그리고 어차피 리눅스 관련된 업무 하시면 많이 쓰실 명령어 계속 계속 입력을 해보고 훈련을 해 보신다면 저처럼 많이 익숙해 지실 거라고 생각이 들어요
그래서 매뉴얼 페이지를 살펴보는 이런 스킬 이 중요해요 자 보면은 nice 값 10 이죠
기준이 생성이 되기 때문에 기출 문제 기준으로 봤을 때 지금보면 프로세스의 우선 순위를 높인다
프로세스의 우선 순위를 낮춘다 프로세스의 우선 순위 값을 출력 한다 사용법 오류로 인해 실행되지 않는다
자, 정답이 뭐겠습니까?
우선 순위를 낮추게 된다라고 이해를 해 볼 수가 있는 거죠 왜냐 bash 라고 하는 사실상 자식 프로세스가 생성이 되고요 nice 값을 지정해서 가기 때문에 친절도가 높은 상태로 생성이 되겠고요 nice 값이 10 이죠 그래서 우선 순위가 사실상 낮아지게 되게 됩니다 그래서 이게 사실상 굉장히 좀 헷갈릴 수 있는 요소인데 실습을 하면서 하나씩 꼼꼼하게 따져보게 되면 정확하게 이해할 수 있는 문제라고 볼 수 있어요
그런데 여기서 멈추기 보다는 우리가 이 출제 예상 문제까지도 같이 정복을 해야 되기 때문에 이 nice 라는 거에 대한 실습을 좀 더 가보도록 할게요
자, 보시게 되면 exit로 일단 나갔습니다 그니까 새로 생성된 거 말고 본연의 프로세스를 기준으로 해서요 ps -eo pid,nice,comm | grep $$ 똑같이 해주고요 보시게 되면 현재 기본적으로 실행된 터미널이 처음에 최초에 실행 됐을 때 프로세스는 nice 값이 0으로 되어 있는 거 예요 그런데 여기서 nice 를 새로 생성 하면은 10을 기준으로 이제 지정을 할 수 있다라는 걸 알 수가 있겠고요
우리가 조금은 응용 실습 두 가지 정도만 더 보도록 할게요
보시게 되면은 ps -eo 통해서 봤을 때 이 $$ 두 개로 현재 프로세스 이런 것들을 봤었는데 이거를 kworker라는 것도 한 번 볼 거예요 kworker는 수많은 커널 프로세스 들 중에서 하나고요
시스템을 다루는 프로세스 라고 보시면 됩니다
예를 들면은 네트워크 , 디스크 같은 거를 다루게 돼서 우선 순위가 꽤 높은 프로세스 라고 볼 수 있겠고요 하지만 커널 프로세스 라고 무조건 우선 순위가 높은 건 아니에요 그래서 -20 처럼 굉장히 우선 수가 높은 친구들도 있지만 낮은 친구들도 있다라는 거 그리고 말씀을 드린 것처럼 ps -ef로 봤을 때 다양한 프로세스 들이 있고, 그 프로세스 들이 갖고 있는 우선 순위를 실시간으로 바꾸는 방법도 있습니다
그게 바로 renice 죠 whatis renice 라고 보시게 되면은 명령어를 통해서 조정이 가능합니다
그리고 echo를 통해서 현재 프로세스가 있으면 현재 프로세스 기준으로 현재 프로세스 nice 값이 이렇게 돼어 있잖아요 그런데 얘를 자식 프로세스로 nice 명령을 통해서 뭔가를 생성하는 게 아니라 renice를 통해서 조정을 하는 거죠 그러면 어떻게 되냐?
renice를 통해서 -n 10 -p 현재 프로세스 1246 or $$2개로 해도 되고요 1246바로 지정을 하셔도 됩니다 이렇게 10으로 조정이 바뀌지는 것을를 또 볼 수가 있는 거죠 실시간으로 프로세스를 새롭게 어떤 생성을 하면서 우선 순위 값을 만들어 내는 게 아니라 이렇게 지금 존재하고 있고 프로세스가 동작하고 있는 걸 기준으로 변경을 하는 거를 볼 수가 있는 거죠 당연히 응용 실습은 굉장히 많이 될 수가 있어요
그런데 물론 지금 당장 봤을 때 nice 관련된 문제가 그렇게 많이 안 나올 수도 있는 건데 우리가 이렇게 많이 투자해야 되냐 이렇게 보실 수도 있어요
그런데 제가 실제 강의에서도 말씀드리지만 각각 주제별로 인기 단골로 나오는 문제들 문항들이 거의 비슷하게 규정이 돼 있습니다 예를 들면 네트워크 같은 경우는 매년 20문항이 가장 항상 고정이 되어 있거든요 그리고 nice이런 우선순위 이런 것들도 항상 나와요 그래서 그런 것들은 단골 주제로 나오는데 또 변경 돼서 나올 수 있기 때문에 이런 식으로 한 번 훈련을 하고 나면은 조금 시간이 걸렸을 수도 있겠지만 다시 nice관련된 문제들이 나왔을 때 거의 대부분 협력할 수 있다라는 거예요
그래서 그냥 무작정 외우는 거보다 오히려 실습을 해서 내가 적용을 했을 때 장기적으로 기술 면접이나 실무에도 도움이 될 뿐만 아니라 우리가 리눅스마스터 2급 암기를 더 효과적으로 할 수 있는 방법이라는 걸 좀 강조해서 말씀드리고 싶었습니다 이런식으로 해서 지금 기출 문제를 하나 풀어 봤어요
이거 말고도 우리가 조금 주요 깊게 봐야 되는 중요한 문제들, 좀 항상 기출 문제를 단골로 나오는 것들을 기준으로 해서 시리즈로 한번 영상 올려보자 하겠습니다
여기까지 하고요
마무리하도록 하겠습니다 감사합니다