[process]
- App이 실행되서 Memory에 Load 된 상태
- 반드시 Memory에 Load 상태여야만 Process라 지칭
- /proc 디렉토리는 Linux kernel이 Memory에 Load 상태를 나타냄(해서 0 byte 디렉토리)
-상태
ForeGround
- App이 Linux Shell을 점유
- 동일 Shell 다른 APP 실행 불가
- 인터럽트 가능 (Ctrl + C 종료, Ctrl + z 멈춤 -> 재실행 작업번호 확인 후 fg or bg)
Background
- App이 linux Shell을 점유하지 않음
- 다른 App 실행 가능
fg(foreground)
- 백그라운드로 실행되고 있는 프로세스를 포그라운드로 전환
- 형식
fg %작업번호 (번호 미입력시 가장 최근 프로세스가 포그라운드로 전환됨)
bg(background)
- 프로세스를 백그라운드로 실행
- 형식
명령어 &
jobs
- 현재 작업중인 프로세스 정보를 출력
ps(process)
- 프로세스 목록, 상태 확인
- 많은 옵션이 있지만 -ef 옵션만으로 충분함
- 형식
ps [옵션]
*옵션
-e : 커널 프로세스를 제외한 모든 프로세스 출력
-f : 풀 포맷으로 표시한다, UID, PID 등이 함께 표시됨
kill
- 프로세스에 시그널을 보내 해당 작업을 수행하도록 하는 명령어
- 형식
kill [옵션] 프로세스번호(PID)
* 옵션
-l : 시그널 번호 목록 확인
-1 : SIGHUP, 프로세스 재시작
-9(ctrl+c) : SIGKILL, 프로세스 강제종료
-18 : SIGCONT, continue를 의미, 정지됐던 프로세스을 다시 시작
-19(ctrl+z) : SIGSTOP, 프로세스 정지
참고)
tty(콘솔 접속, centos 직접 접속)
pts(가짜 터미널 접속, 원격접속)
백그라운드와 포그라운드는 vi 에디터 정리 때 한번 사용한 적이 있다
복습겸 다시 한번 실습 해보도록 한다

fg %1로 포그라운드로 전환 해줘야 정상적인 종료가 가능하다
만약 정상적인 종료를 하지 않고 다시 한번 같은 파일을 vi 편집기로 열면

swp 파일이 생성되는데 이 swp 파일은 정상적으로 종료가 안되었을 때 생성되는 백업용 파일이다
vi 편집기를 정상적으로 종료 시키면 자동으로 삭제되지만 그렇지 않을 경우 남아 있게 되고
파일 수정에 문제가 생길 수 있기 때문에 직접 삭제 해줘야 한다

포그라운드 전환 후 종료가 아니라 kill -9 명령어로 프로세스를 강제로 종료 했을 경우
이렇게 .services.swp 파일이 삭제되지 않고 남아있는 것을 확인할 수 있다

이번에는 세션을 하나 더 생성해서 한쪽은 ping을 보내고 한쪽은 ps 로 프로세스를 확인 해보자


kill -19(SIGSTOP) 38015(PID) 명령을 입력하니까 ping 작업이 정지되고 백그라운드로 전환된 것을 확인할 수 있다
다음은 정지된 프로세스를 다시 시작 시키는 -18(SIGCONT) 옵션을 입력해보자

정지됐던 ping 프로세스가 다시 동작하는 것을 확인할 수 있다
마지막으로 강제종료 -9(SIGKILL)옵션을 입력 해보면

ping 프로세스의 종료까지 확인할 수 있다
'Linux' 카테고리의 다른 글
DHCP(2) (0) | 2022.09.27 |
---|---|
DHCP(1) (0) | 2022.09.27 |
apache, script로 설치 자동화 하기 (0) | 2022.09.23 |
Source 파일로 패키지 설치 (0) | 2022.09.21 |
Local Repository (0) | 2022.09.21 |