용어체크
1. 포그라운드 처리
- 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 프롬프트가 출력되지 않아서 다른 명령을 입력할 수 없어 기다려야 하는 처리 방법
2. 백그라운드 처리
- 명령의 입력이 끝나면 결과에 상관없이 바로 다음 프롬프트가 출력되어 다른 명령을 입력할 수 있는 처리 방법
학습내용
|
1. 포그라운드와 백그라운드 개념
1) 포그라운드와 백그라운드 이해
작업(job)이란?
쉘이 프로세스를 관리하는 단위이다. 유닉스는 각각의 job에 job ID를 부여하여 제어한다(프로세스 : PID, CMD). 유닉스의 작업은 포그라운드와 백그라운드 처리로 구분할 수 있다.
포그라운드(foreground) 처리란?
사용자가 입력한 명령이 실행되어 결과가 출력될때까지 프롬프트가 출력되지 않아서 다른 명령을 입력할 수 없어 기다려야 하는 처리방법이다. 포그라운드 처리로 실행되고 있는 프로세스는 포그라운드 프로세스, 포그라운드 작업이라고 부른다. 보통의 처리방법
백그라운도(background) 처리란?
명령의 입력이 끝나면 결과에 상관없이 바로 다음 프롬프트가 출력되어 다른 명령을 입력할 수 있는 처리방법. 여러 프로세스를 동시에 실행시킬 수 있다. 백그라운드 방식으로 처리되는 프로세스를 백그라운드 프로세스, 백그라운드 작업이라고 부른다. 명령의 끝에 &를 붙인다.
백그라운드 처리시 유의사항 : 터미널 화면의 현재 상태와 상관없이 실행 결과와 오류 메시지를 그대로 출력 -> 현재 작업을 하려던 것이 수시로 출력되는 메시지로 인해 방해받는다.
해결방법 : 출력 방향 전환을 하여 실행 결과를 파일로 저장하는 방법을 사용한다.
-$fidn / -name passwd > pw.dat : 에러 메시지는 화면에 계속 출력됨 -$find / -name passwd > pw.dat 2>pw.err & |
2) 포그라운드와 백그라운드의 작업 제어하기
작업 제어
작업 전환, 실행 중지, 작업 종료
작업 종료하기
명령
ctrl + c : 포그라운드에서 수행중인 작업을 중지한다. 프로그램에서 Ctrl + C 를 무시하도록 설정한 경우는 종료되지 않는다.
kill %n 혹은 PID : 작업 번호가 n 혹은 PID인 작업을 종료
로그아웃 후에도 백그라운드 작업 계속 실행하기 : nohup 명령&
백그라운드 작업을 실행시킨 터미널이 종료되거나 사용자가 로그아웃하면 실행 중이던 백그라운드 작업은 함께 종료된다. 로그아웃한 후에도 백그라운드 작업이 계속 진행되도록 하기 위해서는 nohup 명령을 사용한다. 명령 실행결과 및 오류 메시지는 nohup.out 파일에 자동으로 저장된다.
작업 목록 보기 : jobs 명령어
현재 실행중인 백그라운드 작업 목록을 출력해주는 명령어이다. 특정 작업 번호를 지정하면 해당 작업 정보만을 출력하기도 한다.
형식
jobs [%작업]
* % 작업
%번호 : 해당 번호의 작업 정보를 출력
%+ 또는 %% : 작업 순서가 +인 작업 정보를 출력
%-: 작업 순서가 -인 작업 정보를 출력한다.
sleep 명령어를 이용하여 백그라운드 작업을 실행
sleep [시간(초단위)]: 지정시간동안 시스템 멈춤
2. 작업 전환과 사용자 정보 보기
1) 작업 전환하기
작업 전환 명령어 : 작업을 저장하지 않으면 현재 작업에 적용된다.
Ctrl + Z 혹은 stop[%작업번호] : 포그라운드 작업을 중지시키고, 백그라운드의 중지된 목록으로 보낸다. 작업을 종료하는 것이 아니라 잠시 중단하는 것이다.
bg [%작업번호] : 현재 작업이나 특정 작업을 백그라운드로 전환시켜 실행한다.
fg [%작업번호] : 현재 작업이나 특정 작업을 포그라운드로 전환시켜 실행한다.
하
2) 사용자 정보 보기Cmd Whop'''''''doo dkgkjv am i?
포그라운드와 백그라운드 처리는 무엇인가요?
포그라운드 처리는 사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 프롬프트가 출력되지 않아서 다른 명령을 입력할 수 없어 기다려야 하는 처리 방법을 의미하고, 백그라운드 처리는 명령의 입력이 끝나면 결과에 상관없이 바로 다음 프롬프트가 출력되어 다른 명령을 입력할 수 있는 처리 방법을 의미합니다.
Quiz 01유닉스에서 보통 명령을 처리하는 방법은 백그라운드 처리 방식이다.
- 1 O
- 2 X
정답 :2
해설 :보통의 명령 처리방식은 포그라운드 처리 방식이다.
Quiz 02다음 중 작업 번호가 지시하는 작업을 일시 정지 시키는 명령은?
- 1 back
- 2 fg
- 3 stop
- 4 pg
정답 :3
해설 :특정 작업을 일시 정지시키는 명령어는 stop이다. 형식은 stop %작업번호 이다.
Quiz 03user1에서 root 사용자로 전환하고자 할 때 사용하는 명령은?
- 1 stop
- 2 users
- 3 su
- 4 who
정답 :3
해설 :su 명령을 이용하면 다른 사용자로 전환하여 작업이 가능하다.
※ 정답확인을 클릭해야 출석으로 인정됩니다!
학습정리
1. 포그라운드와 백그라운드 작업
- 포그라운드 작업: 사용자가 명령을 입력하면 결과가 출력된 후에 다음 명령을 입력할 수 있는 작업
- 백그라운드 작업: 명령의 처리와 관계없이 다음 명령 입력 가능한 작업. 명령 마지막에 & 기호 추가
2. 작업 관리 명령
- jobs: 백그라운드 작업 목록 출력
- fg [%작업번호]: 해당 작업을 포그라운드로 전환
- bg [%작업번호]: 해당 작업을 백그라운드로 전환
- ^Z 또는 stop [%작업번호]: 포그라운드 작업을 잠시 중단
- kill [%작업번호]: 해당 작업을 종료
3. 사용자 정보보기 명령
- users: 나의 사용자 명 출력
- w: 로그인한 사용자의 정보, 시스템 정보, 작업 정보
- who: 시스템 사용자의 사용자명, 단말기 번호, 로그인한 시간 정보
- who am i: who 정보 중 자신에 대한 정보 출력
- whoami: 사용자명 만 출력
- id: 사용자 명과 uid, 그룹명, gid 정보 출력
- su : 다른 사용자나 root로 전환
인쇄
아이티평생교육원
Loaded: 0%
Progress: 0%
Current Time0:03
/
Duration Time0:03
Play
Mute
'컴퓨터공학 > 컴퓨터시스템' 카테고리의 다른 글
컴퓨터시스템 13 - 2 파일 송수신 명령어 익히기 (0) | 2021.11.20 |
---|---|
컴퓨터시스템 13 - 1 통신 명령어 익히기 (0) | 2021.11.16 |
컴퓨터시스템 10 - 1 프로세스에 대해 알아보기 (0) | 2021.10.27 |
컴퓨터 시스템 9 - 2 함수와 디버깅 (0) | 2021.10.23 |
컴퓨터 시스템 9 - 1 연산자와 제어문 다루기 (0) | 2021.10.18 |