Programing/Linux

[리눅스-하얀배터리]프로세스 관리

하얀배터리 2018. 5. 31. 23:48
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