PowerPoint 프레젠테이션

Similar documents
Chapter 06. 프로세스관리하기

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBABFCD20BBE7BFEBC0DA20B8EDB7C920C0CDC8F7B1E22E >

리눅스 프로세스 관리

6주차.key

chap2

제2장 리눅스 사용

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

2009년 상반기 사업계획

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBA20BBFDBCBAB0FA20BDC7C7E0205BC8A3C8AF20B8F0B5E55D>

2009년 상반기 사업계획

/chroot/lib/ /chroot/etc/

PowerPoint 프레젠테이션

Chapter 05. 파일접근권한관리하기

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

ABC 11장

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

제2장 유닉스 사용

10.

PowerPoint 프레젠테이션

시험종목 제 회리눅스마스터 급 차 시험일자 토 분 수검자기재사항및감독자확인 수검번호 감독자확인 성 명 주민번호 수검자유의사항 수검자는신분증을지참하여야시험에응시할수있습니다 카드는컴퓨터용수성사인펜 검정색 을사용하여작성하여야합니다 수검자는 카드작성시유의사항 을반드시숙지한후작

PowerPoint 프레젠테이션

Microsoft PowerPoint - comp_prac_081223_2.pptx

Microsoft PowerPoint - 10_Process

1장. 유닉스 시스템 프로그래밍 개요

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20BFEEBFB5C3BCC1A6BDC7BDC D31C7D0B1E229202D20BDA92E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap9 [호환 모드]

제9장 프로세스 제어

Microsoft PowerPoint - u5.pptx

Microsoft PowerPoint UNIX Shell.ppt

2-11Àå

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

제8장 프로세스

좀비프로세스 2

제8장 프로세스

* 자원복구 * - 이동형저장장치오류 : 장치를찾을수없습니다. 포맷하세요.. 복구방법 : 1) 포맷진행 - 빠른포맷 2) 데이터복구프로그램을이용하여복구국내 : finaldata - 파티션복구 : Acronis Disk Directory Suit - 데이터복구 : R-s

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

OnTuneV3_Agent_Install

Chap04(Signals and Sessions).PDF

Microsoft PowerPoint UNIX Shell.pptx

PowerPoint 프레젠테이션

<30392E31322E303320C1F6B1B8C1F6C1A420B9D720C1F6C7FCB5B5B8E920B0EDBDC E706466>

PowerPoint 프레젠테이션

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다. / /bin/ /home/ /home/taesoo/ /home/taesoo/downloads /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자 (t

제 1604 회리눅스마스터 2 급 2 차 A 형정답

Microsoft PowerPoint - u5.pptx

Secure Programming Lecture1 : Introduction

Abstract View of System Components

01Àå

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

Keil Flexlm 라이선스 설명서

PowerPoint 프레젠테이션

작성자 : 기술지원부 김 삼 수

<C7CFB4C3B0F8BFF828C0FCC7CFC1F6B8F8C7D1C6EDC1F6292D31302E3128C3D6C1BE292D31302E31342E687770>

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

DE1-SoC Board

[03] 로그관련명령어 # lastlog /var/log/lastlog 파일의내용을보여주는명령어 /etc/passwd 파일에선언되어있는게정중로그인이되는계정만접근한흔적이남아야한다. 사용자명 포트 ~ 로부터 최근정보 root pts/ 금 10월

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

고급 프로그래밍 설계

......_A4

PowerPoint 프레젠테이션

Adobe Flash 취약점 분석 (CVE )

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<4D F736F F F696E74202D FB8DEB8F0B8AE20B8C5C7CE205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

<32B1B3BDC32E687770>

PowerPoint 프레젠테이션

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

PowerPoint 프레젠테이션

휠세미나3 ver0.4

INDEX 1. 개요 데이터백업스크립트작성 crontab 을이용한자동백업예약 활용 - 다른서버에백업하기

1 Shell script What the shell?

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

vi 사용법

MySQL-Ch10

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

PowerPoint 프레젠테이션

제1장 Unix란 무엇인가?

Report Designer V3.0 사용설명서 2장

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

2009년 상반기 사업계획

SRC PLUS 제어기 MANUAL

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

1차내지

Transcription:

Chapter 06. 프로세스관리하기

00. 개요 01. 프로세스의개념 02. 프로세스관리명령 03. 포그라운드, 백그라운드프로세스와작업제어 04. 작업예약

프로세스가무엇인지설명할수있다. 프로세스목록을확인하고특정프로세스를검색할수있다. 프로세스를강제로종료할수있다. 프로세스관리도구로전체프로세스의상태를확인할수있다. 포그라운드와백그라운드작업의차이를설명할수있다. 백그라운드로작업을실행하고포그라운드로변환할수있다. 정해진시간에혹은주기적으로명령이실행되도록설정할수있다.

리눅스실습스터디맵

00 개요 [ 그림 6-1] 6 장의내용구성

01 프로세스의개념 프로세스 : 현재시스템에서실행중인프로그램 프로세스의부모 - 자식관계 프로세스는부모 - 자식관계를가지고있음 필요에따라부모프로세스 (parent process) 는자식프로세스 (child process) 를생성하고, 자식프로세스는또다른자식프로세스생성가능 부팅할때스케줄러가실행한프로세스인 systemd 와 kthreadd 프로세스를제외하면모든프로세스는부모프로세스를가지고있음 자식프로세스는할일이끝나면부모프로세스에결과를돌려주고종료 프로세스의번호 각프로세스는고유한번호를가지고있는데이것이 PID 프로세스의종류 데몬프로세스 특정서비스를제공하기위해존재하며리눅스커널에의해실행 고아프로세스 자식프로세스가아직실행중인데부모프로세스가먼저종료된자식프로세스는고아 (orphan) 프로세스 1 번프로세스가고아프로세스의새로운부모프로세스가되어고아프로세스의작업종료지원 좀비프로세스 자식프로세스가실행을종료했는데도프로세스테이블목록에남아있는경우 좀비프로세스는프로세스목록에 defunct 프로세스라고나오기도함 좀비프로세스가증가하면프로세스테이블의용량이부족해서일반프로세스가실행되지않을수도있음

02 프로세스관리명령 프로세스목록보기 현재실행중인프로세스의목록을보는명령 : ps 유닉스 (SVR4) 옵션 : 묶어서사용할수있고, 붙임표로시작한다 ( 예 : -ef). BSD 옵션 : 묶어서사용할수있고, 붙임표로시작하지않는다 ( 예 : aux). GNU 옵션 : 붙임표두개로시작한다 ( 예 : --pid).

02 프로세스관리명령 현재단말기의프로세스목록출력하기 : ps ps 명령을옵션없이사용하면현재셸이나터미널에서실행한사용자프로세스에대한정보를출력 ps PID TTY TIME CMD 5501 pts/1 00:00:00 bash 6162 pts/1 00:00:00 ps 프로세스의상세정보출력하기 : -f 옵션 프로세스의상세한정보를출력 : PPID 와터미널번호, 시작시간등 ps -f UID PID PPID C STIME TTY TIME CMD user1 5501 5500 0 00:32 pts/1 00:00:00 -bash user1 6163 5501 0 04:33 pts/1 00:00:00 ps -f

02 프로세스관리명령 터미널에서실행한프로세스의정보출력하기 : a 옵션 터미널에서실행한프로세스의정보를출력 ps a PID TTY STAT TIME COMMAND 860 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4 864 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5 872 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2 876 tty3 Ss+ 0:00 /sbin/getty -8 38400 tty3 883 tty6 Ss+ 0:00 /sbin/getty -8 38400 tty6 988 tty7 Ss+ 1:39 /usr/bin/x -core :0 -auth /var/run/lightdm/root/:0 -n 993 tty1 Ss+ 0:00 /sbin/getty -8 38400 tty1 ( 생략 )

02 프로세스관리명령 터미널에서실행한프로세스의상세정보출력하기 : a 옵션과 u 옵션 a 옵션과 u 옵션을함께사용하면터미널에서실행한프로세스의상세정보를출력 : CPU 와메모리사용량등 ps au USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 860 0.0 0.0 4668 864 tty4 Ss+ 2월22 0:00 /sbin/getty - root 864 0.0 0.0 4668 860 tty5 Ss+ 2월22 0:00 /sbin/getty - root 872 0.0 0.0 4668 860 tty2 Ss+ 2월22 0:00 /sbin/getty - root 876 0.0 0.0 4668 864 tty3 Ss+ 2월22 0:00 /sbin/getty - ( 생략 ) user1 5638 0.0 0.3 8304 3356 pts/7 Ss+ 00:32 0:00 -bash user1 6166 0.0 0.1 6460 1176 pts/1 R+ 04:37 0:00 ps au

02 프로세스관리명령 전체프로세스목록출력하기 ( 유닉스옵션 ) : -e 옵션 -e 옵션은시스템에서실행중인모든프로세스를출력 TTY 의값이? 인것은대부분데몬으로시스템이실행한프로세스 ps -e more PID TTY TIME CMD 1? 00:00:02 init 2? 00:00:00 kthreadd 3? 00:00:01 ksoftirqd/0 5? 00:00:00 kworker/0:0h ( 생략 ) 22? 00:00:00 devfreq_wq 23? 00:00:07 kworker/0:1 25? 00:00:00 khungtaskd --More-- -ef 옵션사용 : 전체프로세스의더자세한정보출력 [ ps -ef more UID PID PPID C STIME TTY TIME CMD root 1 0 0 2월22? 00:00:02 /sbin/init root 2 0 0 2월22? 00:00:00 [kthreadd] root 3 2 0 2월22? 00:00:01 [ksoftirqd/0] ( 생략 ) root 25 2 0 2월22? 00:00:00 [khungtaskd] --More--

02 프로세스관리명령 전체프로세스목록출력하기 (BSD 옵션 ) : ax 옵션 시스템에서실행중인모든프로세스를출력 ps ax more PID TTY STAT TIME COMMAND 1? Ss 0:02 /sbin/init 2? S 0:00 [kthreadd] 3? S 0:01 [ksoftirqd/0] ( 생략 ) 23? S 0:07 [kworker/0:1] 25? S 0:00 [khungtaskd] --More-- aux 옵션은 -ef 처럼시스템에서실행중인모든프로세스에대한자세한정보를출력 ps aux more USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 4052 2320? Ss 2월22 0:02 /sbin/init root 2 0.0 0.0 0 0? S 2월22 0:00 [kthreadd] root 3 0.0 0.0 0 0? S 2월22 0:01 [ksoftirqd/0] ( 생략 ) root 22 0.0 0.0 0 0? S< 2월22 0:00 [devfreq_wq] root 23 0.0 0.0 0 0? S 2월22 0:07 [kworker/0:1] --More--

02 프로세스관리명령 특정사용자의프로세스목록출력하기 : -u 옵션 ps -u user1 PID TTY TIME CMD 1646? 00:00:01 gnome-keyring-d 1648? 00:00:01 init 1717? 00:00:00 ssh-agent 1727? 00:00:04 dbus-daemon 1733? 00:00:00 upstart-event-b ( 생략 ) 더상세한정보를보고싶으면 -f 옵션을함께사용 ps -fu user1 UID PID PPID C STIME TTY TIME CMD user1 1646 1 0 2월22? 00:00:01 /usr/bin/gnome-keyring-daemon -- user1 1648 1378 0 2월22? 00:00:01 init --user user1 1717 1648 0 2월22? 00:00:00 ssh-agent user1 1727 1648 0 2월22? 00:00:04 dbus-daemon --fork --session --a user1 1733 1648 0 2월22? 00:00:00 upstart-event-bridge ( 생략 )

02 프로세스관리명령 특정프로세스정보출력하기 : -p 옵션 -p 옵션과함께특정 PID 를지정하면해당프로세스의정보를출력 ps -fp 5501 UID PID PPID C STIME TTY TIME CMD user1 5501 5500 0 00:32 pts/1 00:00:00 -bash ps 명령을이용해특정프로세스정보검색하기 ps 명령과 grep 명령을 로연결하여특정프로세스에대한정보를검색 ps -ef grep bash user1 2205 2197 0 2월22 pts/5 00:00:00 bash user1 5501 5500 0 00:32 pts/1 00:00:00 -bash user1 5638 5637 0 00:32 pts/7 00:00:00 -bash user1 6185 5501 0 04:50 pts/1 00:00:00 grep --color=auto bash

02 프로세스관리명령 pgrep 명령을이용해특정프로세스정보검색하기 bash 패턴을지정하여검색한예 pgrep -x bash 2205 5501 5638

02 프로세스관리명령 pgrep 명령을이용해특정프로세스정보검색하기 pgrep 의경우 -l 옵션을지정해도단지 PID 와명령이름만출력 pgrep -l bash 2205 bash 5501 bash 5638 bash 더자세한정보를검색하려면 pgrep 명령을 ps 명령과연결하여사용 ps -fp $(pgrep -x bash) UID PID PPID C STIME TTY STAT TIME CMD user1 2205 2197 0 2월22 pts/5 Ss+ 0:00 bash user1 5501 5500 0 00:32 pts/1 Ss 0:00 -bash user1 5638 5637 0 00:32 pts/7 Ss+ 0:00 -bash -u 옵션으로사용자명을지정하여검색 ps -fp $(pgrep -u user1 bash) UID PID PPID C STIME TTY STAT TIME CMD user1 2205 2197 0 2월22 pts/5 Ss+ 0:00 bash user1 5501 5500 0 00:32 pts/1 Ss 0:00 -bash user1 5638 5637 0 00:32 pts/7 Ss+ 0:00 -bash

02 프로세스관리명령 kill 명령을이용해프로세스종료하기 kill 예 : man 을실행시킨프로세스를찾아서종료시키기 ps -fp $(pgrep -x man) UID PID PPID C STIME TTY TIME CMD user1 6193 5501 0 04:56 pts/1 00:00:00 man ps kill 6193

02 프로세스관리명령 프로세스강제로종료하기 단순히 kill 명령으로는종료되지않는경우강제종료시그널인 9 번을보낸다. 강제종료예 : kill 명령으로종료되지않음 ps -fp $(pgrep -x sh) UID PID PPID C STIME TTY STAT TIME CMD user1 2087 1974 0 2월22? Ss 0:00 /bin/sh -c /usr/bin/gtk-windo user1 6230 5501 0 04:59 pts/1 S+ 0:00 sh kill 6230 ps -fp $(pgrep -x sh) UID PID PPID C STIME TTY STAT TIME CMD user1 2087 1974 0 2월22? Ss 0:00 /bin/sh -c /usr/bin/gtk-windo user1 6230 5501 0 04:59 pts/1 S+ 0:00 sh 강제종료시그널인 9 번을보내강제로종료 kill -9 6230

02 프로세스관리명령 pkill 명령을이용해프로세스종료하기 PID 가아니라프로세스의명령이름 (CMD) 으로프로세스를찾아종료 ps -fp $(pgrep -x man) UID PID PPID C STIME TTY STAT TIME CMD user1 6396 5501 0 05:07 pts/1 S+ 0:00 man pkill user1 6412 5638 0 05:07 pts/7 S+ 0:00 man pkill pkill -x man pgrep -x man

02 프로세스관리명령 프로세스관리도구 top 명령 : 현재실행중인프로세스에대한정보를주기적으로출력 top 내부명령

02 프로세스관리명령 top 실행화면

02 프로세스관리명령 시스템정보 : GNOME

03 포그라운드, 백그라운드프로세스와작업제어 포그라운드작업 포그라운드프로세스 : 사용자가입력한명령이실행되어결과가출력될때까지기다려야하는포그라운드방식으로처리되는프로세스 이를작업제어에서는포그라운드작업이라고함 sleep 100 포그라운드작업 sleep 명령이끝날때까지기다려야한다. 백그라운드작업 백그라운드프로세스 : 명령을실행하면명령의처리가끝나는것과관계없이곧바로프롬프트가출력되어사용자가다른작업을계속할수있음 작업제어에서는백그라운드작업이라고함 sleep 100& 백그라운드작업 [1] 6852 프롬프트가바로나와다른명령을실행할수있다. 백그라운드작업과출력방향전환하기 백그라운드로처리할때는주로출력과오류방향전환을하여실행결과와오류메시지를파일로저장 find / -name passwd > pw.dat 2>&1 & pw.dat 에결과와오류를저장한다. [2] 6853

03 포그라운드, 백그라운드프로세스와작업제어 작업제어 작업제어는작업전환과작업일시중지, 작업종료를의미 작업전환 : 포그라운드작업-> 백그라운드작업, 백그라운드작업-> 포그라운드작업으로전환 작업일시중지 : 작업을잠시중단 작업종료 : 프로세스를종료하는것처럼작업을종료 작업목록보기 : jobs

03 포그라운드, 백그라운드프로세스와작업제어 jobs 명령예 jobs [1]- 실행중 sleep 100 & [2]+ 실행중 find / -name passwd > pw.dat 2>&1 &

03 포그라운드, 백그라운드프로세스와작업제어 작업전환하기 작업전환예 : 포그라운드 -> 백그라운드 jobs 백그라운드작업이없다. sleep 100 포그라운드로실행한다. ^Z Ctrl+z로일시중지한다. [1]+ 정지됨 sleep 100 일시중지된상태이다. bg %1 백그라운드로전환한다. [1]+ sleep 100 & jobs [1]+ 실행중 sleep 100 & 백그라운드로실행중이다.

03 포그라운드, 백그라운드프로세스와작업제어 작업전환하기 작업전환예 : 백그라운드 -> 포그라운드 jobs [1]+ 실행중 sleep 100 & fg 포그라운드로전환한다. sleep 100 포그라운드로실행중이다. 작업종료하기 : Ctrl+c 포그라운드작업은 Ctrl+c 를입력하면대부분종료 sleep 100 포그라운드로실행중이다. ^C 강제종료한다. 백그라운드작업은 kill 명령으로강제종료 : PID 또는 % 작업번호 sleep 100& 백그라운드로실행중이다. [1] 6403 kill %1 강제종료한다. [1]+ 종료됨 sleep 100 Enter를한번더입력해야메시지가출력된다.

03 포그라운드, 백그라운드프로세스와작업제어 로그아웃후에도백그라운드작업계속실행하기 : nohup 로그아웃한다음에도작업이완료될때까지백그라운드작업을실행해야할경우가있다. 이때 nohup 명령을사용 nohup 명령사용예 [ nohup find / -name passwd & [1] 6867 nohup: 입력무시및 'nohup.out' 에출력추가 다시로그인하여파일내용확인 more nohup.out /usr/share/bash-completion/completions/passwd /usr/share/lintian/overrides/passwd /usr/share/doc/passwd /usr/bin/passwd find: '/root': 허가거부 find: '/proc/tty/driver': 허가거부 ( 생략 )

03 포그라운드, 백그라운드프로세스와작업제어 로그아웃후에도백그라운드작업계속실행하기 : nohup 명령실행시다음예와같이출력방향전환을하면 nohup.out 파일을생성하지않고지정한파일에결과와오류메시지를출력 nohup find / -name passwd > pw.dat 2>&1 & [1] 6874 exit 다시로그인하여파일내용확인 more pw.dat nohup: 입력무시 /usr/share/bash-completion/completions/passwd /usr/share/lintian/overrides/passwd /usr/share/doc/passwd /usr/bin/passwd find: '/root': 허가거부 find: '/proc/tty/driver': 허가거부 ( 생략 )

04 작업예약 특정한시간에작업을수행하도록예약할수있는두가지방법 정해진시간에한번만수행 정해진시간에반복수행 정해진시간에한번실행

04 작업예약 at 명령설치 : sudo apt-get install at, sudo apt-get install mailutils at 명령설정하기 at 명령을사용하여정해진시간에명령을실행하도록예약하려면 at 명령뒤에시간을명시 user1@myubuntu:~/linux_ex/ch6$ at 09:00 am warning: commands will be executed using /bin/sh at> 시간을지정하는형식 at 4pm + 3 days : 지금부터 3 일후오후 4 시에작업을수행한다. at 10am Jul 31 : 7 월 31 일오전 10 시에작업을수행한다. at 1am tomorrow : 내일오전 1 시에작업을수행한다. at 10:00am today : 오늘오전 10 시에작업을수행한다. at 로실행할명령은기본적으로표준입력으로지정 : 명령의입력을마치려면 ctrl+d 입력 user1@myubuntu:~/linux_ex/ch6$ at 09:00 am 시간을지정한다. at> ls -l ~user1 실행할명령을지정한다. at> <EOT> Ctrl+d를입력하여종료한다. job 1 at Tue Feb 25 09:00:00 2014 작업예약이완료되었다. user1@myubuntu:~/linux_ex/ch6$

04 작업예약 at 명령의실행결과확인하기 at 명령의실행결과는메일로전달 You have mail in /var/mail/user1 user1@myubuntu:~/linux_ex/ch6$ mail "/var/mail/user1": 1 message 1 new >N 1 user1 월 2월 24 14: 27/1198 Output from your job? Message 1: Return-Path: <user1@myubuntu> X-Original-To: user1 Delivered-To: user1@myubuntu Received: by myubuntu (Postfix, from userid 1000) id 1236F65222; Mon, 24 Feb 2014 14:22:01 +0900 (KST) Subject: Output from your job 5 To: user1@myubuntu Message-Id: <20140224052201.1236F65222@myubuntu> Date: Mon, 24 Feb 2014 14:22:01 +0900 (KST) From: user1@myubuntu (user1) 합계 148 -rw-r--r-- 1 user1 user1 8980 2월 20 21:19 examples.desktop drwxrwxr-x 7 user1 user1 4096 2월 24 06:28 linux_ex ( 생략 )

04 작업예약 at 작업파일확인하기 at 로생성된작업파일은 /var/spool/at 디렉터리에저장 user1@myubuntu:~/linux_ex/ch6$ at 11:10 am warning: commands will be executed using /bin/sh at> ls at> <EOT> job 6 at Tue Feb 25 11:10:00 2014 user1@myubuntu:~/linux_ex/ch6$ user1@myubuntu:~/linux_ex/ch6$ sudo ls -l /var/spool/cron/atjobs 합계 4 -rwx------ 1 user1 daemon 2417 2월 24 14:25 a0000601625542 user1@myubuntu:~/linux_ex/ch6$ root 사용자만 /var/spool/at 디렉터리내용확인가능

04 작업예약 at 작업목록확인하기 : -l 옵션, atq at 명령으로설정된작업의목록은 -l 옵션으로확인 user1@myubuntu:~/linux_ex/ch6$ at -l 6 Tue Feb 25 11:10:00 2014 a user1 user1@myubuntu:~/linux_ex/ch6$ atq 명령으로도확인가능 user1@myubuntu:~/linux_ex/ch6$ atq 6 Tue Feb 25 11:10:00 2014 a user1 user1@myubuntu:~/linux_ex/ch6$

04 작업예약 at 작업삭제하기 : -d 옵션, atrm at 명령으로설정한작업이실행되기전에삭제하려면 -d 옵션을사용하고삭제할작업번호를지정 1 작업예약 user1@myubuntu:~/linux_ex/ch6$ at 1am tomorrow warning: commands will be executed using /bin/sh at> ls at> <EOT> job 7 at Tue Feb 25 01:00:00 2014 user1@myubuntu:~/linux_ex/ch6$ 2 설정된작업확인 user1@myubuntu:~/linux_ex/ch6$ atq 7 Tue Feb 25 01:00:00 2014 a user1 6 Tue Feb 25 11:10:00 2014 a user1 user1@myubuntu:~/linux_ex/ch6$ 3 작업삭제 user1@myubuntu:~/linux_ex/ch6$ at -d 7 user1@myubuntu:~/linux_ex/ch6$ atrm 6 user1@myubuntu:~/linux_ex/ch6$ atq user1@myubuntu:~/linux_ex/ch6$

04 작업예약 at 명령사용제한하기 관련된파일 : /etc/at.allow 와 /etc/at.deny /etc/at.allow 파일과 /etc/at.deny 파일에는한줄에사용자이름을하나씩만기록 /etc/at.allow 파일이있으면이파일에있는사용자만 at 명령을사용할수있다. 이경우에 /etc/at.deny 파일은무시된다. /etc/at.allow 파일이없으면 /etc/at.deny 파일에지정된사용자를제외한모든사용자가 at 명령을사용할수있다. 만약두파일이모두없다면 root 만 at 명령을사용할수있다. 한사용자가두파일모두에속해있다면그사용자는 at 명령을사용할수있다. /etc/at.allow 파일이적용되기때문이다. /etc/at.deny 를빈파일로두면모든사용자가 at 명령을사용할수있는데, 이것이초기설정이다. at.deny 파일에 user1 사용자가기록되어있다면 at 명령을실행했을때사용권한이없다는메시지가출력 user1@myubuntu:~/linux_ex/ch6$ at You do not have permission to use at. user1@myubuntu:~/linux_ex/ch6$

04 작업예약 정해진시간에반복실행 crontab 파일형식

04 작업예약 crontab 파일생성하고편집하기 : crontab e crontab 편집기는기본적으로 VISUAL 또는 EDITOR 환경변수에지정된편집기를사용 user1@myubuntu:~/linux_ex/ch6$ EDITOR=vi;export EDITOR user1@myubuntu:~/linux_ex/ch6$ crontab -e 명령으로편집한파일을저장하면자동적으로 /var/spool/cron/crontabs 디렉터리에사용자이름으로생성 user1@myubuntu:~/linux_ex/ch6$ sudo ls -l /var/spool/cron/crontabs [sudo] password for user1: 합계 4 -rw------- 1 user1 crontab 1137 2월 24 14:55 user1 user1@myubuntu:~/linux_ex/ch6$ crontab 파일내용확인하기 : crontab l user1@myubuntu:~/linux_ex/ch6$ crontab l 30 23 1 * * /bin/ls -l ~user1 > ~user1/cron.out user1@myubuntu:~/linux_ex/ch6$ crontab 파일삭제하기 : crontab -r user1@myubuntu:~/linux_ex/ch6$ crontab -r user1@myubuntu:~/linux_ex/ch6$ crontab -l no crontab for user1 user1@myubuntu:~/linux_ex/ch6$

04 작업예약 crontab 명령사용제한하기 /etc/cron.allow, /etc/cron.deny 파일 cron.deny 파일은기본적으로있지만 cron.allow 파일은관리자가만들어야함 두파일이적용되는기준 /etc/cron.allow 파일이있으면이파일안에있는사용자만 crontab 명령을사용할수있다. /etc/cron.allow 파일이없고 /etc/cron.deny 파일이있으면이파일에사용자계정이없어야 crontab 명령을사용할수있다. /etc/cron.allow 파일과 /etc/cron.deny 파일이모두없다면시스템관리자만 crontab 명령을사용할수있다. 두파일이모두없는데일반사용자가 crontab 명령을사용하려고하면다음과같은메시지가출력 user1@myubuntu:~/linux_ex/ch6$ crontab -e You (user1) are not allowed to use this program (crontab) See crontab(1) for more information user1@myubuntu:~/linux_ex/ch6$