일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정규식 컴파일
- snmp
- 1697
- 정규식 활용
- c3 second
- centos pyhon 설치
- c3 step graph
- influxdb 설치
- c3 초
- c3 축 가리기
- gcc regex
- 백준
- InfluxDB
- grafana dashboard
- gcc 업데이트
- c3 축 없애기
- snmp test
- telegraf
- linux시간으로 변경
- python popen
- CentOS7
- subporcess path
- python subprocess
- 정규식 문자열 출력
- python os
- selinux port 등록
- c++ 정규식
- semanage
- g++ 업데이트
- regex_search
- Today
- Total
리셋 되지 말자
프로세스, 데몬 본문
프로세스 : 하드디스크에 저장된 실행코드(프로그램)가, 메모리에 로딩되어 활성화된 것
- 실행하기 전에는 프로그램. 실행하면 프로세스
포그라운드 프로세스(Foreground Process)
- 실행하면 화면에 나타나서 사용자와 상호작용을 하는 프로세스
- 대부분의 응용프로그램
백그라운드 프로세스(Background Process)
- 실해은 되었지만 화면에는 나타나지 않고 실행되는 프로세스
- 백신 프로그램, 서버 데몬 등
프로세스 번호
- 각각의 프로세스에 할당된 고유번호
작업 번호
- 현재 실행되고 있는 백그라운드 프로세스의 순차번호
(실습)
ps -ef | grep fire
위의 명령어로 fire 가 들어가는 프로세스를 출력하면,
프로세스 번호가 1960, 부모 프로세스 번호가 1인 firewalld 프로세스를 확인할 수 있다.
kill 1960
kill 명령어를 사용해 프로세스 번호가 1960인 firewalld 프로세스를 종료시킬 수 있다.
만약 프로세스가 종료되지 않는다면 'kill -9' 옵션을 주어 강제종료 시킬 수 있다.
그럼에도 종료가 되지 않는다면, 해당 프로세스의 부모 프로세스를 종료시켜야 한다.
(부모 프로세스가 종료되면, 자식 프로세스도 종료된다.)
(실습2)
yes > /dev/null
yes를 입력하면 y가 무한으로 출력되는데, 이를 /dev/null로 보냄으로 써 무의미한 프로세스를 임의로 실행해준다.
그러면 무한으로 실행되므로 Ctrl + C 등의 명령어로 중지시키지 않으면, 아무것도 할 수가 없다.
ps -ef 명령어로 확인해주면, 아래와 같이 yes 프로세스가 실행중인 것을 확인할 수 있다.
kill로 프로세스를 죽이면, 중지할 수 있다.
(실습3)
백그라운드로 보냈다가 포그라운드로 다시 보내는 걸 해보자.
Ctrl + Z로 일시 중지를 한뒤에, 'bg'를 입력해주면 프로세스가 백그라운드로 넘어간다.
이때 앞에 붙는 [1] 이 백그라운드 작업 번호이다.
다시 포그라운드로 가져오려면 fg + <작업번호> 를 입력 해주면 된다.
명령어 &
명령어를 실행할 때, & 을 붙여주면, 백그라운드로 실행되도록 할 수 있다.
예를들어 tar 명령어 등으로 압축을 할때, 백그라운드로 실행하게 되면 압축 중에 다른 작업들을 진행할 수 있게 된다.
'Linux Study' 카테고리의 다른 글
RSCSA-특정 유저 파일 복사 (0) | 2021.08.22 |
---|---|
파일 시스템 권한 (0) | 2021.08.06 |
su, su - 차이 (0) | 2021.08.06 |
서비스, 소켓 (0) | 2020.03.20 |
파이프, 필터, 리다이렉션 (0) | 2020.03.20 |