리눅스 ~ 시스템 관리.

리눅스 ~ 시스템 관리.



프로세스 관리.

뷰어를 처리합니다.
~ 무엇을 처리합니다.

프로세스가 실행되는 프로그램이나 명령 존재이며, 각 엔티티는 실행, 자신의 주소 공간을 가지고 있으며, 일부 시스템 자원을 차지하는 과정이다.

또한 과정입니다 아닙니다.


프로세스 관리의 역할.
  • 서버의 상태를 확인합니다.
  • 모든 프로세스를 볼 수 있습니다.
  • 프로세스를 종료.

그 과정에서 모든 프로세스를 볼 수 있습니다.
  • 모든 프로세스를 볼 수 있습니다. 사용 BSD 운영 체제 형식입니다.
[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19232  1404 ?        Ss   Feb18   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Feb18   0:00 [kthreadd]
。。。

A -> 모든 전경 과정.
X -> 모든 백그라운드 프로세스.
U -> 사용자.

  • 사용자
    , 사용자가 생성하는 방법.
  • PID
    프로세스의 ID 번호.
  • %의 CPU
    프로세스에 의해 소비되는 CPU 자원의 비율이 높을수록 직업, 더 많은 자원을 많이 사용하는 프로세스.
  • % MEM의
    프로세스가 실제 메모리의 비율을 소요, 더 높은 직업, 더 많은 자원을 많이 사용하는 프로세스.
  • VSZ의
    프로세스는 가상 메모리, 단위 KB의 크기를 소모합니다.
  • RSS의
    프로세스는 실제 물리적 메모리, 단위 KB의 크기를 소모합니다.
  • TTY의
    단말이 실행하는 방법.
    ? - "단자 수행하지 시스템 커널 실행.
    상기 식에서 tty1로 ~ tty7 로컬 콘솔 터미널을 나타냅니다.
    tty1로 ~ tty6 터미널 문자 인터페이스 지역.
    그래픽 단자 tty7.
    점 가상 터미널 대신 / 0 ~ 256.
  • STAT의
    프로세스 상태.
    R -> 실행.
    S -> 수면.
    T는 -> 멈췄다.
    들 -> 서브 루틴이 포함되어 있습니다.
    +-> 배경입니다.
  • START는
    프로세스의 시작 시간.
  • TIME
    프로세스는 CPU의 계산 시간, 시스템 시간에하지에주의를 사용합니다.
  • COMMAND는
    이 과정에 대한 명령 이름을 생성.

당신은 추가하는 경우 -. (UNIX가 인식되지 않습니다 -).

[root@localhost ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19232  1404 ?        Ss   Feb18   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Feb18   0:00 [kthreadd]
。。。
  • 모든 프로세스를 볼 수 있습니다. 표준 리눅스 명령 형식을 사용합니다.
[root@localhost ~]# ps -le
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0      1      0  0  80   0 -  4808 poll_s ?        00:00:01 init
1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
。。。

-l -> 세부 사항.
-e -> 모든.


시스템 상태를 볼 수 있습니다.

가기 [옵션]

초 -d 수는 -> 지정 상부의 명령은 몇 초마다 업데이트합니다. 기본값은 3 초입니다.

명령은 상부의 명령 사이에 대화 형 모드에서 실행할 수 있습니다.

? 또는 시간 -> 디스플레이 대화식 모드 도움이됩니다.
P는 -> CPU 사용률으로 정렬. 기본.
M -> 정렬 메모리 사용.
N은 -> PID를 정렬합니다.
Q -> 종료 위로.


프로세스를 종료합니다.
  • 죽임.
# 查看可用的进程信号。
geek@geek-PC:~$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX
  • 일반적인 신호.
신호 코드 신호 명칭 설명
1 가입하기 처리 후 즉시 종료하고,이 신호를 다시 읽 재기동 후 구성 파일.
SIGINT 전경 프로세스를 종료하기위한 프로그램 종료 신호를 출력한다.
8 SIGFPE 때 치명적인 연산 오류 발행. 그것뿐만 아니라 부동 소수점 에러가 제로 다른 산술 오류에 의해 오버플로 나눈 값을 포함 포함한다.
9 SIGKILL 즉각 중단을 위해 프로그램을 실행합니다. 이 신호는, 치료 및 방치를 차단 할 수 없습니다. 일반적으로 강제 종료 프로세스에 사용됩니다.
(14) SIGALRM 클럭 타이밍 신호. 실제 시간 또는 클록 신호를 이용하여 경보 기능의 계산.
(15) SIGTERM 일반 과정, 기본 신호 kill 명령의 끝을. 프로세스가 종종 문제가 발생하는 경우,이 신호가 제대로 프로세스를 종료하지, 우리는 SIGKILL 신호는 신호 9입니다 노력할 것입니다.
(18) SIGCONT 이 신호는 정지 프로세스 재개를 실행할 수 있도록, 신호가 차단 될 수 없다.
(19) SIGSTOP 이 신호에서 Ctrl + z는 단축키의 상당 전경 처리를 중단 할 수있다. 이 신호가 차단 될 수 없다.

죽일 -1 PID -> 재부팅.
죽일 -9 PID를 -> 강제 종료.

  • 모두 다 죽여.

[루트 @ localhost를 ~] # killall는 [ 옵션] [신호] 프로세스 이름
// 프로세스 이름에 따라 프로세스를 종료.
옵션을 선택합니다.
-i. -> 대화 형. 당신이 프로세스를 종료하려면 물었다.
-I. ->의 경우 프로세스 이름을 무시합니다.


  • pkill에.

[루트 @ localhost를 ~] # pkill에 [ 옵션] [신호] 프로세스 이름
// 프로세스 이름에 따라 프로세스를 종료.
옵션을 선택합니다.
단말 번호 -t. -> 걷어 사용자 단말 번호.

# 使用 w 命令查询本机已经登录的用户。
[root@localhost ~]# w
 11:54:36 up 9 min,  2 users,  load average: 0.00, 0.01, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                11:45    9:18   0.04s  0.04s -bash
root     pts/0    192.168.223.1    11:45    0.00s  0.05s  0.00s w
# 强制杀死从 tty1 终端登录的进程。
[root@localhost ~]# pkill -9 -t tty1
[root@localhost ~]# w
 11:56:20 up 11 min,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.223.1    11:45    0.00s  0.07s  0.01s w

pstree -p -> 프로세스 트리.
[root@localhost ~]# pstree -p
init(1)─┬─auditd(1201)───{auditd}(1202)
        ├─crond(1393)
        ├─dhclient(1139)
        ├─login(1406)───bash(1428)
        ├─master(1379)─┬─pickup(1383)
        │              └─qmgr(1384)
        ├─mingetty(1408)
        ├─mingetty(1410)
        ├─mingetty(1412)
        ├─mingetty(1414)
        ├─mingetty(1416)
        ├─rsyslogd(1223)─┬─{rsyslogd}(1224)
        │                ├─{rsyslogd}(1226)
        │                └─{rsyslogd}(1227)
        ├─sshd(1289)───sshd(1443)───bash(1446)───pstree(1459)
        ├─udevd(491)─┬─udevd(1423)
        │            └─udevd(1424)
        └─xinetd(1300)

작업 관리.

배경으로하는 프로세스.
  • -zcf etc.tar.gz 타르 / 등 및
    // 배경은 계속 실행됩니다.

  • [루트 @ localhost를 ~] # 위로
    // 상부의 명령을 실행하는 동안, Ctrl 키 + z를 바로 가기.
    (后台暂停).


배경 작업을 볼 수 있습니다.

[루트 @ localhost를 ~] # 작업 [-l]
옵션을 선택합니다.
-l. -> PID 작업을 표시합니다.

+ 때 배경으로 최근 작업의 수뿐만 아니라 작품의 대표 일에 기본 다시 복원 할 수 있습니다.

"-"기호는 작품의 배경에 어미에서 두 번째의 음절을 나타냅니다.

[root@localhost ~]# jobs -l
[1]-  1546 Stopped (signal)        top
[2]+  1548 Stopped (signal)        top

프론트 데스크에 복원 작업 다시 실행을 중단합니다.
  • FG

[루트 @ localhost를 ~] # fg를 %의 작업 번호
매개 변수입니다.
% 작업 번호. -> % 번호는 생략하지만, 작업 번호와 PID의 차이를주의 할 수있다. (1, 2, 3).

  • BG

[루트 @ localhost를 ~] # 개의 BG % 작업 번호

배경은 명령 실행을, 복원 및 프론트 데스크는 대화 형이 아니거나 배경에 복원 할 수 없습니다.


시스템 자원 관리.

시스템 리소스를 볼 수 있습니다.
vmstat를 ~ 모니터 시스템 리소스.

[루트 @ localhost를 ~] vmstat를 [새로 고침 지연 갱신 빈도]

[root@localhost ~]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 842980   7612  42844    0    0    17     1   12   14  0  0 100  0  0
 0  0      0 842988   7612  42844    0    0     0     0   12   13  0  0 100  0  0
 0  0      0 842988   7612  42844    0    0     0     0    8    9  0  0 100  0  0

~ 커널 부팅 dmesg 명령 정보를 검출.

[루트 @ localhost를 ~] # dmesg를

[루트 @ localhost를 ~] # dmesg를 | 그렙 CPU


보기 메모리 사용을 무료로 ~.

[루트 @ localhost를 ~] # 무료 [-b | -k | -m | -g]
옵션을 선택합니다.
-b. -> 디스플레이 바이트.
-k. -> KB 디스플레이에서 "기본."
-m. -> MB 표시한다.
-g. -> GB에 표시

`


캐싱 버퍼링 차이.
  • 캐시 (캐시) 데이터 속도를하는 데 사용되는 하드 디스크에서 "읽기".

시스템 캐시에 저장, 첫 번째 데이터를 읽은 후, 하드 디스크에서 읽을 수있는 프로그램에 대한 첫 번째 호출. 다른 프로그램이 데이터를 사용하면 캐시에서 직접 촬영합니다. (>> 메모리 읽기 및 쓰기 속도가 하드 디스크의 읽기 및 쓰기 속도).

  • 그리고 버퍼 (완충)은 "쓰기"드라이브를 가속화하는 데 사용됩니다.

> 느린 - 데이터를 하드 디스크에 직접 기록된다 저장할 때마다합니다. 우선, 버퍼 영역에 도달하고 있으므로 함께 디스크에 기록 일정량.


보기 CPU 정보 ~은 / proc / cpuinfo의.
[root@localhost ~]# cat /proc/cpuinfo

가동 시간

커널 정보 시스템을 확인합니다.

[루트 @ localhost를 ~] # uName의 [ 옵션]
~
-a. -> 모든 관련 정보 시스템을 볼 수 있습니다.
-r. ->보기 커널 버전.
-s -> 커널의 이름을 확인합니다.


현재 시스템의 숫자를 결정합니다.
[root@localhost ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

끝나면 uname -m


리눅스의 현재 릴리스 버전을 볼 수 있습니다.
geek@geek-PC:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Deepin
Description:	Deepin 15.11
Release:	15.11
Codename:	stable

목록 프로세스 또는 사용 열린 파일 정보 ~ lsof를.

[루트 @ localhost를 ~] lsof를 # [ 옵션]
// 목록 정보 처리 호출하거나 파일을 엽니 다.
옵션을 선택합니다.
-c 문자열입니다. -> 문자열의 목록만을 시작은 열려있는 파일을 처리합니다.
-u 사용자 이름. -> 목록 만 사용자 프로세스 열려있는 파일.
PID를 -p. -> PID는 열려있는 파일의 목록을 처리합니다.

[root@localhost ~]# lsof -c init
COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF   NODE NAME
init      1 root  cwd    DIR              253,0     4096      2 /
init      1 root  rtd    DIR              253,0     4096      2 /
init      1 root  txt    REG              253,0   150352 916426 /sbin/init
init      1 root  mem    REG              253,0    66432 261665 /lib64/libnss_files-2.12.so
init      1 root  mem    REG              253,0  1924768 261649 /lib64/libc-2.12.so
init      1 root  mem    REG              253,0    90912 261635 /lib64/libgcc_s-4.4.7-20120601.so.1
init      1 root  mem    REG              253,0    44472 261677 /lib64/librt-2.12.so
init      1 root  mem    REG              253,0   143280 261673 /lib64/libpthread-2.12.so
init      1 root  mem    REG              253,0   265736 261729 /lib64/libdbus-1.so.3.4.0
init      1 root  mem    REG              253,0    39896 261746 /lib64/libnih-dbus.so.1.0.0
init      1 root  mem    REG              253,0   106016 261748 /lib64/libnih.so.1.0.0
init      1 root  mem    REG              253,0   159312 262040 /lib64/ld-2.12.so
init      1 root    0u   CHR                1,3      0t0   4601 /dev/null
init      1 root    1u   CHR                1,3      0t0   4601 /dev/null
init      1 root    2u   CHR                1,3      0t0   4601 /dev/null
init      1 root    3r  FIFO                0,8      0t0   9461 pipe
init      1 root    4w  FIFO                0,8      0t0   9461 pipe
init      1 root    5r   DIR               0,10        0      1 inotify
init      1 root    6r   DIR               0,10        0      1 inotify
init      1 root    7u  unix 0xffff880037bf93c0      0t0   9462 @/com/ubuntu/upstart
init      1 root    8u  unix 0xffff88003d3fb8c0      0t0  13519 socket
[root@localhost ~]# 


시스템 타이밍 작업.

있으며 crond 서비스 관리 및 액세스 할 수 있습니다.
[root@localhost ~]# service crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]
[root@localhost ~]# chkconfig crond on

사용자의 crontab 설정.

[루트 @ localhost를 ~] # crontab을 [ 옵션]
옵션을 선택합니다.
-e. -> 편집 정기적으로 작업을 crontab에.
-l. -> 쿼리의 crontab 작업.
-r. -> 모든 cronyab 현재 사용자의 작업을 삭제합니다.

[root@localhost ~]# crontab -l
no crontab for root

VI 편집기 기본 /tmp/crontab.HeSBLh.

[root@localhost ~]# crontab -e

"/tmp/crontab.HeSBLh" 0L, 0C
형식.
* * * * * command
계획 의미 범위
① * 시간의 처음 몇 분 0 ~ 59
② * 하루의 처음 몇 시간 0 ~ 23
③ * 달의 첫 번째 날 1 ~ 31
④ * 한 해의 첫 달 1 ~ 12
⑤ * 무슨 요일 0-7 (0과 7은 일요일을 나타낸다).
코드 의미
4522 * * * 명령 22시 45분 매일을 수행합니다.
* 017 * 1 명령 월요일 17시 실행.
051 * 15 * 명령 1 개월 15 5시 실행.
404 * * 1-5 명령 4시 40분 금요일까지 매주 월요일 실행합니다.
* / 104 * * * 명령 4시 매일 10 분마다 수행
001 15 * 1 명령 매월 1과 15은 0시 주 수행 할 수 있습니다.

참고 : 가장 좋은 몇 몇 주간의 수뿐만 아니라 동시에. 무식한 힘. . .

예를 들면.

* / 5 * * * * / 빈 / 에코 "11">> / TMP / 시험
5 5 * 2 / sbin에 / 종료 -r 지금
0~5 1,10,15 * /root/sh/autobak.sh

게시 47 개 원래 기사 · 원 찬양 한 · 전망 1148

추천

출처blog.csdn.net/lyfGeek/article/details/104951522