리눅스에서 프로세스를 관리하는 방법은?
_____A1: 프로세스는 실행 중인 프로그램을 의미하며, CPU에서 작업을 수행하는 단위입니다. 각 프로세스는 고유한 PID(프로세스 ID)를 가지고 있습니다.
Q2: 현재 실행 중인 프로세스를 확인하는 명령어는 무엇인가요?
A2: `ps` 명령어를 사용합니다. 예를 들어, `ps aux`는 시스템 전체의 모든 프로세스를 상세히 보여줍니다.
또한, 실시간으로 프로세스를 확인하려면 `top` 또는 `htop`을 사용합니다.
Q3: 특정 프로세스를 특정 조건으로 찾고 싶다면 어떻게 하나요?
A3: `ps aux | grep [프로세스명]` 명령어를 사용하여 특정 이름이나 조건의 프로세스를 검색할 수 있습니다.
또는 `pgrep [프로세스명]`으로 해당 프로세스의 PID만 간단히 얻을 수 있습니다.
Q4: 프로세스의 우선순위(즉, niceness)를 확인하고 변경하는 방법은?
A4:
- 확인: `ps -o pid,ni,cmd -p [PID]` 명령어로 해당 프로세스의 niceness를 확인할 수 있습니다.
- 변경: `renice [우선순위값] -p [PID]` 명령으로 프로세스 우선순위를 변경합니다. 값이 낮을수록 우선순위가 높습니다.
`nice` 명령은 새 프로세스를 지정한 우선순위로 실행할 때 사용합니다.
Q5: 프로세스를 중지하거나 종료하려면 어떻게 하나요?
A5:
- 프로세스 종료: `kill [PID]` 명령으로 프로세스에 종료 신호(SIGTERM)를 보냅니다.
- 강제 종료: `kill -9 [PID]` 또는 `kill -SIGKILL [PID]`를 사용하면 강제로 종료할 수 있습니다.
- 프로세스 중지: `kill -STOP [PID]`로 프로세스 실행을 일시 중지할 수 있습니다.
- 다시 실행: `kill -CONT [PID]`로 일시 중지된 프로세스를 다시 실행합니다.
Q6: 백그라운드에서 프로세스를 실행하는 법은?
A6: 명령어 끝에 `&`를 붙여 실행하면 프로세스가 백그라운드에서 실행됩니다.
예: `./program &`
Q7: 백그라운드 프로세스를 포그라운드로 불러오려면?
A7: `jobs` 명령어로 현재 쉘의 백그라운드 작업 목록을 확인하고,
Q8: 프로세스가 과도한 자원을 사용하는지 확인할 수 있나요?
A8:
- `top` 또는 `htop`을 실행하면 CPU, 메모리 사용량 등 자원 소비 현황을 실시간으로 확인할 수 있습니다.
- `ps aux --sort=-%cpu` 명령으로 CPU 사용량 기준 프로세스 리스트를 볼 수도 있습니다.
Q9: 데몬(백그라운드 서비스) 프로세스를 관리하는 방법은?
A9: 현대 리눅스 시스템에서는 `systemd`를 사용합니다.
- 서비스 시작: `sudo systemctl start [서비스명]`
- 서비스 중지: `sudo systemctl stop [서비스명]`
- 서비스 상태 확인: `sudo systemctl status [서비스명]`
- 서비스 자동 시작 설정: `sudo systemctl enable [서비스명]`
Q10: 좀비 프로세스란 무엇이며, 어떻게 처리할 수 있나요?
A10: 좀비 프로세스는 종료되었지만 부모 프로세스가 아직 종료 상태를 수거하지 않은 프로세스입니다.
일반적으로는 부모 프로세스가 종료하거나, 시스템이 재부팅되면 소멸됩니다.
직접 제거하려면 부모 프로세스를 재시작하거나 종료시켜야 합니다.
Q11: 프로세스 간의 관계(부모-자식 프로세스)를 확인하는 법은?
A11: `pstree` 명령어를 사용하면 프로세스 트리를 계층적으로 확인할 수 있습니다.
또는 `ps -ef --forest` 옵션으로 트리 형태를 볼 수 있습니다.
Q12: 프로세스에 신호(signal)을 보내는 다른 방법은?
A12: `kill` 명령 외에 `killall [프로세스명]`은 해당 이름의 모든 프로세스에 신호를 보냅니다.
`pkill [프로세스명]`도 비슷하며 프로세스 선택이 좀 더 유연합니다.
Q13: 프로세스 삽입, 디버깅, 실행 제어와 관련된 도구는?
A13: `strace`(시스템 콜 추적), `gdb`(디버거), `lsof`(열려 있는 파일 확인), `pidstat`(프로세스 통계) 등이 있습니다.
이를 통해 프로세스 동작을 상세히 분석하고 제어할 수 있습니다.
작성자:
박채원 [비회원]
| 작성일자: 1년 전
2024-09-30 08:49:28
조회수: 164 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 164 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.