728x90
리눅스 프로세스/ 시그널 /포그라운드 백그라운드 / 시간동기화
프로세스 관리
프로세스 목록 보기
ps
현재 실행중인 프로세스의 목록을 보여주는 명령
<유닉스옵션>* - e : 시스템에서 실행 중인 모든 프로세스의 정보를 출력
* - f : 프로세스에 대한 자세한 정보 출력 상세 정보
-u uid : 특정 사용자에 대한 모든 프로세스 정보 출력
-p pid : pid 로 지정한 특정 프로세스의 정보를 출력
<BSD 옵션> a : 터미널에서 실행한 프로세스의 정보를 출력
u : 프로세스의 소유자의 이름, CPU의 사용량, 메모리 사용량 등 상세정보를 출력
x : 시스템에서 실행중인 모든 프로세스의 정보를 출력
<GNU 옵션> -- pid PID 목록 : 목록으로 지정한 특정 PID 정보를 출력한다.
사용 예 ps ps -ef ps aux
프로세스 종료 kill kill [-시그널]PID
사용 예 kill 1001 kill -9 1001
실습 [프로세스 종료 하기]
1) sleep 10000 & 2) ps -ef | grep sleep 3) kill -9 3909
임의적 동작상태 3909 숫자는 (종료하려는 프로세스 PID)
프로세스 띄움 초 확인 어떤프로세스냐에 변함
시그널
- 주요 시그널 [ 리눅스 시험 자주 등장]
sleep : 임시 프로세스 생성
sleep 100 : 100초 동안 sleep 생성
sleep 1000 & : 1000초 동안 실행 &를 사용하여 백그라운드 실행
kill
프로세스 종료 지정한 시그널을 프로세스에 보낸다.
kill -[시그널 번호] PID
-2 : 인터럽트 시그널을 보낸다 (ctrl + c 와 동일)
-9 : 프로세스를 강제 종료
-15 : 프로세스가 관련된 파일을 정리하고 프로세스를 종료한다. 종료되지 않는 프로세스가 있을 수 있다.
사용 예 kill 1001 kill -15 1001 kill -9 1001
pgrep
지정한 패턴과 일치하는 프로세스에 대한 정보를 출력한다.
pgrep [옵션][패턴]
-x : 패턴과 정확히 일치하는 프로세스 정보를 출력
-n : 패턴을 포함하고 있는 가장 최근의 프로세스 정보를 출력
-u : 사용자 이름 : 특정 사용자에 대한 모든 프로세스를 출력
-l : PID와 프로세스 이름을 출력
-t : term : 특정 단말기와 관련된 프로세스 정보를 출력한다.
사용 예 pgrep bash
top
현재 실행중인 프로세스에 대한 정보를 주기적으로 출력
[윈도우 작업관리자와 유사함]
1초마다 현재 실행중인 프로세스가 갱신됨
종료하려면 ctrl + c
top 출력정보
top 내부 명령
포그라운드 백그라운드 프로세스 작업 제어
포그라운드 작업
포그라운드프로세스: 사용자가입력한명령이 실행되어결과가출력될때까지 기다려야 하는 포그라운드방식으로 처리되는 프로세스
이런 방식을 포그라운드작업이라고함
백그라운드 작업 : 명령을실행하면 명령의처리가끝나는것과관계없이 곧바로프롬프트가출력되어사용자가다른작업을계속할수있음
이런 방식을 백그라운드작업이라고함
작업제어
jobs
백그라우누드 작업을 모두 보여 준다. 특정 작업 번호를 지정하면 해당 작업의 정보만 보여줌
jobs [%작업 번호]
%번호 : 해당번호의 작업 정보를 출력
%+또는 %% : 작업 순서가 + 인 작업정보를 출력한다.
%- 작업 순서가 -인 작업 정보를 출력한다.
사용 예 job %1 jobs
작업 종료 Ctrl + c
특정한 시간에 작업 수행하도록 예약하기
at
예약한 명령을 정해진 시간에 실행한다.
at [옵션] 시간
-l : 현재 실행 대기 중 명령의 전체 목록을 출력
-r : 작업 번호: 현재 실행 대기 중인 명령에서 행당 작업 번호를 삭제한다.
-m : 출력 결과가 없더라도 작업이 완료되면 사용자에게 메일로 알려준다.
-f : 표준 입력 대신 실행할 명령을 파일로 저장한다.
사용예 at - m 0730 tomorrow at 10:10 pm at 8:15 am May 30
crontab
사용자의 crontab 파일을 관리한다.
crontab [-u 사용자 ID][옵션][파일 이름]
-e : 사용자의 crontab 파일을 편집한다.
-l : crontab 파일의 목록을 출력한다.
-r : crontab 파일을 삭제한다.
사용 예 crontab -l crontab -u user1 -e crontab -r
[순서 중요]
분 (0~59) 시(0~23) 일 (1~31) 월 (1~12) 요일 (0~6) 작업내용
요일 0,7 일요일
설정 예시
정수 값만 사용가능 하나 응용 가능함 .
분 시 일 월 요일
10 * * * *
매월 매일 매시 10 분에 실행 ex) 1시10분 2시10분 3시10분 ******* 계속
분 시 일 월 요일
10 10 * * *
매달 매일 10시 10 분에 응용 / , - ,',' 사용가능
응용
분 시 일 월 요일
*/5 * * * *
매달 매일 매시간에 5분마다 [1:05, 1:10, ,1:15 , 1:20 ,1:25 -----------]
분 시 일 월 요일
1-10 * * * *
매달 매일 매시간 1분부터 10분까지 1분마다. [1:01 02 03 04 05 ------ 1:10]
분 시 일 월 요일
10,20 * * * *
매달 매일 매시간 10분 20분 마다 [1:10, 1:20 , 2:10, 2:20 , 3:10 , 3:20 ]
tail -f /var/log/cron 크론의 로그를 실시간 확인
tail -f 실행의 된 것이 실시간 적으로 찍힘
tail : 마지막 것을 가져옴 [최근내역]
예시 마지막 줄에서 5줄만 보고 싶다면 tail -5
-f : 실시간
시간동기화 하기
ln
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
: 기본 시간 지역을 KST로 변경
rdate -s time.bora.net
: 시간 동기화
하얀배터리 블로그에 작성된 글의 무단 복제 , 수정을 금지 합니다.
개시물은 배운 내용을 바탕으로 하여 쓰여진 것이므로 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 지적 바랍니다.
#하얀배터리 #IT #정보보안 #윈도우 #window #프로그래밍 #programming #html #java #C #javascript #database #jQuery #서버 #보안 #리눅스
728x90
'Programing > Linux' 카테고리의 다른 글
[리눅스]그룹 passwd /shadow/groups (0) | 2018.04.02 |
---|---|
[리눅스]리눅스 파일시스템/fdisk 명령/디스크추가설치/LVM (0) | 2018.04.01 |
[리눅스]리눅스 기본 명령어 정리 (0) | 2018.03.30 |
리눅스 init 의미 (0) | 2018.03.28 |
가상 머신에 cent OS 7 설치 (0) | 2018.03.28 |