생각을 개발하자, 박진형

[CentOS] 기본 #5 - 프로세스, 서비스, 소켓, 파이프, 필터 등 본문

OS/CentOS

[CentOS] 기본 #5 - 프로세스, 서비스, 소켓, 파이프, 필터 등

imjinbro imjinbro 2017.07.12 11:13
[프로세스]
- 보조기억장치에 저장된 실행코드(프로그램)가 메모리에 로딩되어 활성화된 상태
- Foreground Process : 화면에 나타나서 사용자와 상호작용을 하는 프로세스
- Background Process : 화면에 나타나지않고, 실행되는 프로세스, 백신 / 서버 데몬(서비스, 서버) 등
- 프로세스 번호 : 각각의 프로세스에 할당되는 고유 번호(OS가 프로세스가 실행되면 임의할당)

=> 프로세스실행사용자 프로세스번호 부모프로세스번호 순 


- 작업 번호 : 현재 실행되고 있는 백그라운드 프로세스 순차번호
=> 프로세스 번호와는 별개

- 부모 프로세스, 자식 프로세스 개념이 있음
=> 부모 프로세스를 kill 함으로서 자식 프로세스까지 kill 할 수 있음

- 관련 명령어
(1) ps : 현재 프로세스의 상태를 확인하는 명령어
=> ps만 쓰면 별개안나옴
=> 옵션값으로 ef를 줘야함
=> 파이프(|) + 필터링(grep)을 해야 좋음


(2) kill : 프로세스를 강제로 종료하는 명령어
=> kill -9 프로세스번호 : 강제종료
     => kill 프로세스번호로 죽지않을 때 -9 옵션을 줌 


(3) pstree : 부모 - 자식 프로세스의 관계를 트리 형태로 보여줌
=> command not found가 뜬다면 psmisc 패키지 파일을 다운로드 받아서 설치하면 됨
=> pstree 프로세스번호 or 프로세스명 : 생략하고 pstree만 명령할 경우 현재 실행되고있는 프로세스 전체
=> systemd가 최상위 프로세스


(4) bg, fg : 현재 실행되고 있는 프로세스를 백그라운드 or 포그라운드로 변경하는 것
=> 포그라운드 실행 프로세스 : ctrl + z 누르면 일시정지 그 상태에서 bg 입력하면 백그라운드 프로세스로 전환
     => 백그라운드 프로세스로 전환되면 작업 번호가 부여됨


=> 백그라운드 실행 프로세스 : fg 명령어를 주면 백그라운드로 전환된 프로세스를 포그라운드로 전환
     => fg 작업번호 : 백그라운드로 돌아가는 프로세스에 부여된 작업번호로 포그라운드 전환


(5) & : 포그라운드로 실행되는 프로세스를 백그라운드로 실행되게 하는 명령어
=> 1개의 터미널, xwindow 두 환경 모두 동시에 사용할 수 있게 프로세스명 & 를 붙이면 됨
=> 의미없는 것은 터미널에서 실행되어야할 vi 에디터와 같은 프로세스임 
     => 잘못 실행 시 fg 작업번호 로 포그라운드 전환


[서비스]
- 시스템과 독자적으로 구동되어 제공하는 프로세스 : 메모리 상에서 상주
- 웹서버(httpd), DB서버(mysqld), FTP 서버(vsftpd) 등이 있음
- systemctl <start/stop/restart> 서비스이름 : 실행 및 종료 명령어
- 서비스 실행 스크립트 파일 경로 : /usr/lib/systemd/system
=> 서비스이름.service 


[소켓]
- 외부에서 특정서비스를 요청할 경우 systemd가 구동 : 요청 끝난 후 소켓 종료
=> 항상 구동되는 서비스와는 다름
=> systemd가 새로 구동하는데 시간이 소요됨 : 서비스보다는 더 걸릴 수 있음

- 텔넷 서버가 있음
- 경로 : /usr/lib/systemd/systemd/소켓이름.socket


[파이프]
- 두개의 프로그램을 연결해주는 통로 : 앞의 명령어의 결과를 두번째 명령어 연결
- | 문자를 사용 
- 예시 : ls -l /etc | more ( /etc  리스트를 보여주는데, 너무 많으니 페이징 처리를 함)


[필터]
- 필요한 것만 걸러주는 명령어 : grep, tail, wc, sort, awk, sed 등 많지만 grep을 주로 씀
- 주로 파이프와 같이 씀 : 첫번째 명령어 수행 뒤 그 속에서 필요한 것만 찾기때문
- 앞 명령어 | grep 찾고싶은 것
- 예시
(1) ps -ef | grep bash : 현재 프로세스 중 bash 와 관련된 것만 찾기
(2) rpm -qa | grep gedit : 설치된 패키지 파일 중 gedit 관련된 것만 찾기


[리다이렉션]
- 표준 입출력의 방향을 바꿔줌 : > 나 < 를 사용하는데, 가리키는 방향으로 흐름
- 예시
(1) ls -l > list.txt : 출력하려는 리스트를 list.txt에 저장
=> > 대신에 >> 를 쓰면 이미 있는 파일에 append(덧붙여씀)

(2) sort < list.txt > output.txt : list.txt 내용을 sort 하고, output.txt 생성 및 저장




Prev 1 2 3 4 5 6 7 Next