D-5

2023. 3. 10. 18:43AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정

1 -SIGHUP, logoff
2 -SIGINT, ^c (사용자 중단시킴, 인터럽트)
3 -SIGQUIT, graceful, ^\ 
9 -SIGKILL, strong (bash같은거 죽이려고)
15-SIGTERM, default
19-SIGSTOP
20 -SIGTSTP, ^z (ctrl z)
[1]+  멈춤                  man ls
[3]   멈춤                  man ls
[4]-  멈춤                  man kill
+의 의미는 ctrl z에서 맨 마지막에 해놓은 것
hup은 작업이 중단되는걸 말함
centos - systemd / ubuntu - init
-부모프로세스가 자식 프로세스를 실행하는 것 = folk
-브라이언폭스 -bash
-다음 선언된 셀 변수를 해제하는 명령어?
unset
PR(프로세스의 우선순위) : OS, 사용자의 조작이 불가능
NI: user가 관리하는 priority, -20 ~ 19
-20이 제일 우선순위가 높음
19: 가장 낮은 우선순위
0: default
nice: 상대적으로 변경 가능, nice -n [n] 프로세스명
renice: 절대 값 변경
nice 는 -10
renice 는 -10이란 값이 존재하지 않음

 

1 -SIGHUP, logoff
2 -SIGINT, ^c
3 -SIGQUIT, graceful, ^\
9 -SIGKILL, strong
15-SIGTERM, default
19-STOP
20 -SIGTSTP, ^z (ctrl z)
[1]+  멈춤                  man ls
[3]   멈춤                  man ls
[4]-  멈춤                  man kill
+의 의미는 ctrl z에서 맨 마지막에 해놓은 것
hup은 작업이 중단되는걸 말함
centos - systemd / ubuntu - init
-부모프로세스가 자식 프로세스를 실행하는 것 = folk
-브라이언폭스 -bash
-다음 선언된 셀 변수를 해제하는 명령어?
unset
PR(프로세스의 우선순위) : OS, 사용자의 조작이 불가능
NI: user가 관리하는 priority, -20 ~ 19
-20이 제일 우선순위가 높음
19: 가장 낮은 우선순위
0: default
nice: 상대적으로 변경 가능, nice -n [n] 프로세스명
renice: 절대 값 변경
renice 는 -10
nice -10 이란 값이 존재하지 않음

 

## nice vs renice

nice: nice -n [n] 프로세스명

보통 프로세스를 시작할 때 우선 순위 조정

renice : renice -n[n] 프로세스명

실행중인 프로세스의 우선순위 조정...

renice -u 사용자명

renice -g pid

 

###at

apt -y install at

# at -l

# atq

# cat result

# at 15:30

# ^d

#atq (파일 확인)

#at -r 2 (2번삭제)

# atrm 3 (3번째 삭제)

 

# /etc/at.allow (지정된 파일만 허용함?)

# /etc/at.deny (금지된게 없다, 다 허용이 된다)

# ls /etc/at.*

# rm -rf /etc/at.deny

# ufw allow ssh (다 안되는데, 최소한 하나만 허가해줘)


###cron

0 1 * * * /work/work.sh (매일 1시에 반복 실행)

0 1  * * /2 * . /work/work.sh

*/30 * * * * /work/work.sh (30분에 한 번) 

*/5 * * * * /work/work.sh(5분에 한 번)

0,30 * * * * /work/work.sh

*/5 * * * * /work/work.sh

30 1 * * 0 /work/work.sh (일요일 1시 반에 매일 반복)

 

**

 

[root@ubuntu /work]# vi work.sh
[root@ubuntu /work]# ls
%1  ./  ../  allnew/
[root@ubuntu /work]# cd allnew
[root@ubuntu /work/allnew]# ls
./  ../  .ftpconfig  .git/  README.md  c/
[root@ubuntu /work/allnew]# mkdir shells
[root@ubuntu /work/allnew]# cd shells/
[root@ubuntu /work/allnew/shells]#

1. nice 값 - process가 실행될 때, nice 값을 갖고 실행, nice 값은 process간 실행 우선순위

 

2. process 우선순위: 길고 자원이 많이 먹는 process의 동작을 우선순위로 하면 다른 process들이 실행되지 못하기 떄문에 => 무거운 process = 낮은 순위 -> 다른 process보다 덜 실행되게 만들어 효율적인 멀티태스킹 환경을 구성할 수 있음

 

3. nice 값 - -20(우선 순위 가장 높고) ~ 19 (가장 낮음) / 0 = default

일반 유저는 process의 nice 값을 높여 우선순위를 낮추는 방향으로만 조절이 가능 / nice값을 낮추는 것은 못함(높이는 것만 가능)

우선순위가 높은 특수한 process를 지키기위해 root관리자만 nice 값을 높이고 낮출 수 있음.

ps -el, top, mpstat 등의 명령어로 process의 nice 값을 확인할 수 있음.

 

 

 

 

< process 우선순위의 의미 >

우선순위가 언제 의미가 있을까? 상황을 하나 가정해보자.

예를 들어 굉장히 길고 자원을 많이 먹는 process 가 동작할 때

높은 우선순위로 동작한다면

다른 process 들이 실행되지 못할 것임.

그래서 무거운 process 에게 낮은 우선순위를 줘서 다른 process 보다

덜 실행되게 만들어 효율적인 멀티태스킹 환경을 구성할 수 있음.

이런 상황에서 nice 값을 조정하여 process 간 우선순위를 줄 수 있다.

 

< nice 값 정보 >

nice 값은 -20부터 19까지 줄 수 있다.

따로 지정해주지 않았을 경우, default nice 값은 0이다.

nice 값이 낮을수록(-20에 가까울수록) 우선순위가 높아진다.

nice 값이 높을수록(19에 가까울수록) 우선순위가 낮아진다.

일반 유저는 process 의 nice 값을 높여서 우선순위를 낮추는 방향으로만 조절이 가능하다.

nice값을 낮춰서 우선순위를 높이는 방향으로는 조절이 불가능하다.

왜냐하면 우선순위가 높은 특수한 process 들을 지키기 위해.

일반 유저가 아닌 root 관리자는 nice 값을 높이고 낮출 수 있다.

ps -el, top, mpstat 등의 명령어로 process 의 nice 값을 확인할 수 있다.

 

< nice 명령어 >

nice -n [n] [process 명] : n만큼 process 의 nice 값이 증가된 상태로 process 실행 

 ( nice -[n] [process 명] 으로도 사용 가능 )

nice [process 명] : process 의 nice 값이 10만큼 증가된 상태로 process 실행

 

< renice 명령어 >

nice 명령어가 실행 전 process 에 nice 값을 조정하여 process 를 실행시킨다면,

renice 는 이미 실행중인 process 의 nice 값을 조정한다.

renice [n] [PID] : 실행중인 process 가 갖는 nice 값을 n 으로 변경(증가가 아니라 그대로 n으로 변경).

 

< PR 이란 >

process 의 우선순위를 논할 때 nice 값(NI) 외에 priority 값(PRI)이 존재.

다음 스크린샷은 ps -l 명령어의 결과임

https://linuxhint.com/ps_command_linux-2/

PRI 란, 운영체제에서 참고하는 우선순위.

시스템 상황에 따라 알아서 부여되기 때문에, 사용자 입장에서 조작이 불가능

NI 는 사용자가 조작이 가능한 우선순위.

 

crontab은 한번만

at은 여러번

 

##분시일월요일

 

## 파일병_버전-리비전_아키텍처.deb

update는 패키지 명령만

upgrade는 upgrade명령어만



 

'AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정' 카테고리의 다른 글

리마2급  (0) 2023.03.14
LVM개념  (0) 2023.03.14
1. Azure 기능  (0) 2023.03.10
D-3 복습  (0) 2023.03.09
리눅스 강의 정리  (0) 2023.03.08