반응형 전체 글264 04. 주기적인 작업 관리 cron (cron job) 정의된 스케줄에 따라 명령을 실행하는 도구 cron 작업을 수행하는 데몬은 시스템 시작 시 구동되고, 계속 실행이 됨 스케줄 설정 -> cron table (crontab) 파일 작성 crontab 관리 $ crontab -e : 기존 crontab 항목 편집 $ crontab -l : crontab 리스트 출력 $ crontab -r : crontab 삭제 * root 사용자는 다른 사용자의 crontab 정보도 확인 가능 à crontab -e USER_ID crontab 설정 분(0-59) 시(0-24) 일(1-31) 월(1-12) 요일(0-6) 명령 예) * * * * * command : 매 1분 마다 명령을 실행 예) 0 * * * * command : 매 1시간 .. 2022. 7. 17. 03. proc 파일시스템의 이해 ps, top ,vmstat등의 리눅스 도구들은 커널 정보를 proc 파일 시스템을 이용해서 가져온다. proc 파일 시스템 커널이 시스템 상태와 관련한 다양한 정보를 노출 시키는 pseudo 파일시스템 -> 실제 파일이 존재하지 않음. 파일 사이즈 0 -> 파일을 읽을 때 실시간으로 내용이 생성됨 운영체제가 유지하는 각종 정보를 커널 모드가 아닌 유저모드에서 쉽게 접근할 수 있도록 제공 -> 일반 파일처럼 접근 가능 프로세스 정보 외에도 커널이 관리하는 다양한 상태 정보와 통계값을 제공 대부분 proc 파일시스템에서 직접 데이터를 읽기보다는 ps, top, vmstat 등 다양한 명령을 사용 -> 잘 알려지지 않은 정보가 필요한 경우 proc정보를 직접 읽어내야 함 Proc 파일시스템 내용 프로세스와 .. 2022. 7. 17. 02. 프로세스 라이프 사이클의 이해 신규 프로세스 생성 fork 시스템 콜로 자신을 복제 - fork는 두개의 서로 다른 값을 반환 (자신과 자식을 구별) 자식: 0을 리턴, 부모: 새로 생성된 자식의 PID를 리턴 자식은 새 프로그램의 실행을 위해 exec 계열의 함수를 호출 - 현재 실행하고 있는 프로그램을 다른 것으로 교체 자식 프로세스 종료 wait 계열 시스템 콜을 호출한 후에만 프로세스 상태정보(프로세스 디스크립터)를 삭제 할 수 있음 -> 부모가 자식 프로세스의 종료 결과를 확인할 수 있도록 설계됨 * 부모가 자식보다 먼저 죽는 경우, 커널은 예정된 wait가 없다는 것을 인지 -> 고아 프로세스를 init process(systemd)의 자식으로 설정 -> 자식 프로세스 종료를 위해 필요한 wait 동작을 수행 프로세스 상태.. 2022. 7. 17. 01. 프로세스 구성요소의 이해 프로세스의 정의 실행중인 프로그램 프로그램 진행 상태를 완전하게 나타내는 자료구조의 집합 -> 프로세스 디스크립터 (실행중인 프로그램 코드, 열린 파일, 지연된 시그널 리소스, 내부 커널 데이터, 프로세서 상태, 주소 공간 등) 쓰레드의 정의 프로세스 내의 실행 흐름 (프로세스당 최소 1개 이상의 쓰레드가 존재) 리눅스에서는 경량 프로세스(lightweight process)라고도 부름 -> 쓰레드 단위로 스케줄링 쓰레드는 주소 공간이나 열린 파일 등 여러 자원을 공유할 수 있음 -> 공유자원을 접근할 때 서로 동기화 해야 함 프로세스의 주요 구성요소 PID 커널은 각 프로세스에 고유한 ID를 부여 (Process ID) PID는 프로세스가 생성되는 순서대로 배정 PPID (Parent Process I.. 2022. 7. 16. 이전 1 ··· 27 28 29 30 31 32 33 ··· 66 다음 반응형