이 페이지에서는 Webmin을 사용하여 시스템에서 실행중인 프로세스를 관리하는 방법을 설명합니다.
프로세스 소개
Linux 시스템에서 실행되는 모든 프로그램, 프로세스 또는 명령은 프로세스입니다. 언제든지 시스템에서 수십 개의 프로세스가 실행되고 있으며, 일부는 그래픽으로 상호 작용하는 프로그램, 일부는 셸 프롬프트에서 시작한 명령, 일부는 백그라운드에서 실행되는 서버 및 일부는 시스템 작업을 수행합니다. 쉘 프롬프트에서 ls 또는 vi와 같은 명령을 입력 할 때마다 새 프로세스가 생성되고 작업이 완료되는 즉시 종료됩니다.
각 프로세스는 PID 또는 프로세스 ID로 알려진 고유 ID로 식별됩니다. 각각은 단일 사용자가 소유하고 프로세스가 갖는 권한을 결정하는 여러 그룹의 구성원입니다. 그리고 각각에는 프로세스가 바쁜 시스템에서 사용할 수있는 CPU 시간을 제어하는 우선 순위 (nice 레벨이라고도 함)가 있습니다. 거의 모든 프로세스에는 시작된 프로세스 인 부모가 있으며 여기에서 소유권, 우선 순위 및 기타 설정을 상속합니다.
프로세스는 종료를 선택하거나 다른 프로세스의 신호에 의해 종료 될 때까지 실행됩니다.
실행중인 프로세스 모듈
이 모듈은 시스템에서 프로세스를보고, 종료하고, 우선 순위를 지정하고, 실행하는 데 사용할 수 있습니다. 시스템 카테고리에서 처음 입력하면 메인 페이지에 아래와 같은 프로세스 트리가 표시됩니다.
이 모듈에는 시스템의 모든 프로세스를 보는 여러 가지 방법이 있으며 기본 페이지 상단의 디스플레이 링크를 통해 선택할 수 있습니다.
PID이 디스플레이 모드에서 각 프로세스는 부모 아래에 들여 쓰기되어 시스템에서 실행중인 모든 프로세스의 트리를 형성합니다. 트리의 맨 위에는 부팅시 커널에 의해 시작되므로 부모가없는 init 명령이 있습니다. 사용자이 모드는 소유자별로 프로세스를 그룹화합니다. 사용자가 많은 시스템에서 각 사용자가 무엇을 실행하고 있는지 한눈에 볼 수있는 유용한 도구입니다. 메모리이 모드에서 프로세스는 사용중인 메모리 양에 따라 정렬되며 가장 많은 메모리를 사용하는 프로세스는 페이지 상단에 표시됩니다. 프로세스 메모리 사용량은 프로세스가 서로 메모리를 공유하는 경우가 많기 때문에 항상 실제로 사용중인 메모리 양을 나타내는 것은 아닙니다. 또한 시스템에있는 실제 및 가상 메모리의 총량과 사용 가능한 양이 프로세스 목록 위에 표시됩니다. CPU이 디스플레이 모드는 가장 무거운 사용자가 먼저 나타나는 현재 CPU 사용량에 따라 프로세스를 정렬합니다. 페이지를 생성하는 Webmin 명령이 목록 맨 위에 표시되는 경우도 있지만 무시해도됩니다. 시스템 부하 평균이 페이지 상단에 표시되어 지난 1 분, 5 분 및 10 분 동안 시스템 사용량을 파악할 수 있습니다. 평균 0은 활동이 전혀 없음을 의미하고 1은 CPU가 완전히 활용되었음을 의미하며 1을 초과하면 시스템에 CPU 시간이있는 것보다 실행하려는 프로세스가 더 있음을 의미합니다.
검색 및 실행 옵션은 각각 프로세스를 검색하고 새 프로세스를 실행하는 데 사용됩니다. 자세한 내용은 아래 섹션을 참조하십시오.
프로세스보기, 종료 또는 우선 순위 재 지정
메인 페이지의 디스플레이에서 프로세스 ID 열 항목을 클릭하여 실행중인 프로세스의 전체 세부 사항을 볼 수 있습니다. . 이 스크린 샷에 표시된 프로세스 정보 페이지로 이동합니다.
이 페이지에는 전체 명령 줄, 상위 명령 및 모든 하위 프로세스를 포함하여 프로세스에 대해 사용 가능한 모든 정보가 표시됩니다. 명령을 클릭하여 상위에 대한 정보 페이지로 이동하거나 해당 프로세스 ID를 클릭하여 하위 프로세스의 페이지로 이동할 수 있습니다. 프로세스가 열려있는 파일 목록과 현재 사용중인 네트워크 연결은 파일 및 연결 버튼을 클릭하여 볼 수 있습니다.
프로세스 종료 버튼을 클릭하여 TERM 신호를 사용하여 프로세스를 중지 할 수 있습니다. 이것은 일부 명령에 의해 무시 될 수 있기 때문에 종료가 실패 할 경우 Kill Process 버튼을 사용하여 KILL 신호를 보낼 수 있습니다. 프로세스가 커널 시스템 호출 내부에 중단되지 않는 한 종료하면 성공할 수 있습니다.
신호 보내기 버튼을 누르기 전에 신호 유형을 선택하여 다른 신호를 보낼 수 있습니다. 더 유용한 신호 중 일부는 다음과 같습니다.
HUP 많은 서버 프로세스의 경우이 신호로 인해 구성 파일을 다시 읽게됩니다. STOP CONT 신호가 수신 될 때까지 프로세스를 일시 중단합니다. CONT STOP 신호에 의해 일시 중단 된 프로세스를 다시 시작합니다.
정보 페이지를 사용하여 실행중인 프로세스의 수준을 변경하여 우선 순위를 높거나 낮출 수 있습니다.프로세스 우선 순위를 변경하려면 * Nice 수준 * 목록에서 새 수준을 선택한 다음 변경 버튼을 클릭합니다. 낮은 수준은 더 높은 우선 순위를 의미하므로 좋은 수준 10의 프로세스는 수준 5의 프로세스보다 CPU 시간이 더 많습니다.
여러 사용자가있는 시스템에서 많은 시간을 차지하는 장기 실행 프로세스 CPU 시간은 사용자와 상호 작용하는 프로세스의 속도를 늦추지 않도록 더 높은 수준으로 제공되어야합니다. 또는 더 낮은 nice 수준을 제공하여 다른 사람을 희생시키면서 프로세스 속도를 높일 수 있습니다. 다른 모든 프로세스의 CPU 시간이 부족하여 시스템이 응답하지 않게 될 수 있으므로 매우 낮은 수준 (예 : 20)을 설정할 때는주의해야합니다.
프로세스 검색
시스템에서 실행중인 프로세스가 많고 하나 이상의 프로세스를 죽이거나 보려는 경우 실행중인 프로세스 모듈의 검색 기능이 프로세스를 찾으려면 다음 단계를 따르십시오.
- 모듈의 기본 페이지에서 검색 표시 모드 링크를 클릭하십시오. 그러면 스크린 샷에 표시된 검색 양식으로 이동합니다. 아래에 있습니다.
- 양식은 프로세스를 찾기위한 여러 가지 기준을 보여 주며, 그 중 옆에있는 라디오 버튼을 선택하여 하나를 선택할 수 있습니다. 기준은 다음과 같습니다. 소유 한 프로세스 다음에 입력하는 이름을 가진 사용자가 소유 한 프로세스 # * Matching 명령 또는 인수에이 옵션 옆에 입력 한 텍스트가 포함 된 프로세스를 찾습니다. 이상 사용 지정된 CPU 시간 비율보다 많은 프로세스를 사용하는 프로세스를 찾습니다. 현재 디렉토리가 켜져있는 파일 시스템 사용 프로세스 선택한 파일 시스템 또는 그 파일에 액세스하고있는 파일을 찾을 수 있습니다. 사용 중이므로 파일 시스템을 마운트 해제하지 마십시오. 파일 사용 읽기 또는 쓰기를 위해 입력 된 파일이 열려있는 프로세스를 찾습니다. 디렉토리를 입력하면 현재 디렉토리로있는 모든 프로세스가 검색됩니다. 포트 사용 선택한 프로토콜을 사용하여 입력 된 포트에서 네트워크 트래픽을 전송, 수신 또는 수신하는 프로세스를 찾습니다. 서버가 수신하는 포트 번호를 알고 있고 서버 프로세스를 찾으려는 경우 유용합니다. 주소 사용 입력 된 주소에 대해 네트워크 연결이 열려 있거나 시스템의 인터페이스 용인 경우 해당 주소에서 수신 대기중인 프로세스를 찾습니다.
- 결과에서 Webmin 검색 프로세스를 필터링하려면 결과에서 검색 프로세스 무시 옵션을 선택하십시오. Webmin 프로세스는 많은 CPU 시간을 사용하므로 CPU 사용량으로 검색 할 때 유용 할 수 있습니다.
- 검색 기준을 선택한 후 검색 버튼을 클릭하십시오. 일치하는 모든 프로세스가 양식 아래에 표시됩니다.
- 프로세스에 대한 추가 정보를 보거나 우선 순위를 변경하거나 신호 만 보내려면 결과에서 프로세스 ID를 클릭하십시오.
- 일치하는 모든 프로세스를 종료하려면 프로세스 종료 또는 프로세스 종료 버튼을 클릭하십시오. * 신호 보내기 * 버튼 옆의 목록에서 신호를 선택하여 모든 프로세스에 신호를 보낼 수도 있습니다. 각 프로세스 ID와 이것이 성공적으로 신호를 받았는지 또는 종료되었는지를 나열하는 페이지가 표시됩니다.
프로세스 실행
이 모듈은 출력이 표시되도록 포 그라운드에서 또는 데몬으로 백그라운드에서 간단한 명령을 실행하는 데 사용할 수도 있습니다. 텔넷이나 SSH를 통해 로그인하지 않고 명령 만 실행하려는 경우 (또는 방화벽이 텔넷 또는 SSH 로그인을 차단하는 경우) 유용 할 수 있습니다. 따라야 할 단계는 다음과 같습니다.
- 모듈의 기본 페이지에서 디스플레이 모드 옵션 옆에있는 실행 링크를 클릭하십시오. 그러면 새 프로세스 시작 양식으로 이동합니다.
- * 실행할 명령 * 필드에 실행할 명령을 입력하십시오. ;, & lt, > 및 &
를 사용할 수 있습니다.
- 명령을 실행하는 데 시간이 오래 걸리는 경우 실행 모드 옵션을 백그라운드에서 실행으로 설정하여 Webmin이 자동으로 백그라운드에 배치하도록 할 수 있습니다. 그러나 명령의 출력을 보려면 완료 될 때까지 대기로 설정된 옵션을 그대로 둡니다.
- * 명령 입력 * 필드에 명령에 입력 할 입력을 입력하십시오.
- 실행 버튼을 클릭하여 실행하십시오. 완료 될 때까지 대기 옵션을 선택한 경우 명령의 모든 출력이 표시됩니다.
명령 실행
모듈 액세스 제어 옵션
기본적으로이 모듈에 대한 액세스 권한이있는 모든 Webmin 사용자는 실행중인 모든 프로세스를 관리 할 수 있습니다. 그가 루트로 로그인 한 것처럼 시스템에서. 그러나 사용자 및 그룹 모듈을 사용하면 사용자의 액세스를 제한하여 특정 Unix 사용자가 소유 한 프로세스 만 죽이거나 다시 사용할 수 있습니다.또한 사용자를 읽기 전용 모드로 제한하여 어떤 식 으로든 변경하지 않고 새 프로세스를 시작하여 프로세스 만 볼 수 있도록 할 수도 있습니다.
모듈 액세스 제어 및 사용자에게 실행중인 프로세스 모듈에 대한 액세스 권한을 부여하는 방법에 대해 자세히 알아 보려면 먼저 52 장을 읽어야합니다. 이 작업이 완료되면이 모듈에 대한 Webmin 사용자의 액세스를 편집하려면 다음 단계를 따르십시오.
- Webmin 사용자 모듈에서 사용자 이름 옆에있는 실행중인 프로세스를 클릭하십시오. 또는 제한하려는 그룹입니다.
- Can edit module configuration? 필드를 No로 변경하십시오.
- Webmin 사용자에게 특정 Unix 사용자가 소유 한 프로세스에만 액세스 권한을 부여하려면 * 사용자로 프로세스 관리 * 필드에 사용자 이름을 입력합니다. Unix 및 Webmin 사용자의 이름이 같으면 대신 현재 Webmin 사용자를 선택할 수 있습니다. 이는 각각을 원하는 그룹에 대한 모듈 액세스 제어를 설정할 때 유용 할 수 있습니다. 구성원은 자신의 프로세스 만 관리 할 수 있습니다.
- 사용자를 읽기 전용 모드로 전환하려면 * Can kill and renice process? * 및 Can run commands? * 필드를 * No로 설정하십시오. 이는 프로세스 관리를 수행 할 수 없기 때문에 7 단계에서 입력 한 사용자 이름은 중요하지 않습니다.
- 저장 버튼을 클릭하여 변경 사항을 활성화하십시오.
Webmin 사용자가 관리 할 수있는 프로세스를 제한하기 위해 모듈 코드는 4 단계에서 지정한 Unix 사용자로 실행되도록 전환하기 만하면됩니다. Unix 사용자는 프로세스를 종료하거나 우선 순위를 다시 지정할 수 없기 때문입니다. 이와 같이 사용자를 전환하면 운영 체제가 Webmin에 대한 프로세스 액세스 제어를 자동으로 시행합니다.
기타 운영 체제
프로세스가 거의 모든 Unix 버전에 존재하기 때문입니다. 이 모듈은 지원되는 모든 운영 체제에서 거의 동일하게 나타납니다.
프로세스에 대한 자세한 정보를 볼 때 다른 운영 체제에서 다른 정보를 사용할 수 있습니다. nice 레벨의 범위도 다를 수 있지만 낮은 레벨은 여전히 높은 우선 순위를 의미하며 그 반대의 경우도 마찬가지입니다.
프로세스를 검색 할 때 파일 시스템 사용, 파일 사용 또는 포트 사용 기준을 사용하지 못할 수 있습니다. 이러한 옵션은 모든 시스템에 기본적으로 설치되거나 사용할 수없는 fuser 및 lsof 명령에 따라 다릅니다.