티스토리 뷰
안녕하세요 :)
우분투 리눅스를 주제로 한 열한번째 포스팅 시간입니다.
이번 포스팅에서는 프로세스, 서비스, 소켓에 대하여 다루어보겠습니다.
1.프로세스
-정의 : 하드디스크에 저장된 실행코드(프로그램)가 메모리에 로딩되어 활성화된 것
-포그라운드 프로세스(foreground process)
실행하면 화면에 나타나 사용자와 상호작용을 하는 프로세스
-백그라운 프로세스(background process)
실행은 되었지만, 화면에는 나타나지 않고 실해되는 프로세스
백신 프로그램, 서버데몬 등
-프로세스 번호
각각의 프로세스에 할당된 고유 번호
-작업 번호
현재 실행되고 있는 백그라운 프로세스의 순차번호
-부모 프로세스 & 자식 프로세스
모든 프로세스는 부모 프로세스를 가지고 있음
부모 프로세스를 kill하면, 자식 프로세스도 자동으로 kill ㅚㅁ
-프로세스 관련 명령
- ps, 현재 프로세스의 상태를 확인하는 명령어
ps -ef | grep <프로세스 이름>을 주로 사용함
- kill, 프로세스를 강제로 종료하는 명령
kill -9 <프로세스 번호>는 강제 종료
- pstree, 부모와 자식 프로세스의 관계를 트리형태로 보여줌
실습: pstree명령어를 사용후 최상위 프로세스를 확인하여라
텍스트 모드의 우분투로 부팅후 루트사용자로 로그인하여 pstree명령어를 실행하면 다음과 같습니다,
최상위 프로세스는 systemd 입니다.
실습: 무한히 실행되는 명령어를 백그라운드로 보냈다가 포그라운드로 불렀다가 다시 백그라운드로 보낸후
kill 하라
먼저 yes 명령어는 무한히 y가 출력되는 명령어 입니다. 아래와 같죠
이명령어를 /dev/null이라는 블랙홀 같은 공간에 넣어 무한히 실행되게 합니다. 그럼 더이상 y는 화면에 출력되지
않지만 프로세스는 실행되고 있는중이죠,
Ctrl +z를 통해 잠시 정지 시킨후 백그라운드로 보내는 명령어 bg를 입력하면
백그라운드에서 무한히 실행되지만 화면에는 보이지 않는 상황이 됩니다.
다시 포그라운드로 가져오기위해서는 작업번호를 알아야 합니다, 명령어 jobs를 통해 알수 있죠
포그라운드로 가져오는 명령어는 "fg 작업번호"입니다.
마지막으로 Ctrl + c 를 눌러 프로세스를 종료합니다.
실행시 바로 백그라운드로 보내는 방법도 있습니다.
명령어 뒤에 &를 붙이는 방법인데요
gedit 명령어를 위와 같은 방법으로 한번 실행해보겠습니다.
실행시 위와 같이 터미널과 프로세스를 동시에 사용할수 있게 됩니다.
2.서비스
- 시스템과 독자적으로 구동되어 제공되는 프로세스를 말한다, 예를 들어 웹서버, DB서버, FTP서버 등이 있습니다.
- 실행 및 종료는 대개 "systemclt start, stop, restart 서비스 이름" 으로 사용된다
- 서비스의 실행 스크립트 파일은 /lib/systemd/system/ 디렉터리에 '서비스이름.service'라는 이름으로 확인 할수 있습니다. 예로 cron 서비스는 cron.sercive라는 이름의 파일로 존재 합니다.
서비스 - 부팅과 동시에 서비스의 자동 실행 여부를 지정할수 있는데, 터미널에서 systemctl list-unit-files 명령을 실행 하면 현재 사용(enable)과 사용안함(disable)을 확인 할수 있습니다.
rcconf 명령으로 설정 또한 가능합니다
rcconf 명령은 설치를 하지 않았을 경우 사용이 불가능함으로 apt -get 명령어를 사용하여
설치후 사용하면 됩니다.
3.소켓
서비스는 항상 가동되지만, 소켓은 외부에서 특정 서비스를 요청 할 경우에 systemd가 구동 시킵니다
요청이 끝날시 소켓도 종료됩니다. 그래서 소켓으로 설정된 서비스를 요청할 때는 처음 연결되는 시간이
앞에서 설명한 서비스에 비교했을 떄 약간 더 소요될수 있습니다, 왜냐하면 systemd가 서비스를 새로 구동하는데
시간이 필요 하기 때문입니다. 이와 같은 소켓의 대표적 예로 텔넷 서버가 있습니다.
소켓과 관련된 스크립트 파일은 /lib/systemd/system/ 디렉터리에 소켓이름.soket이라는 이름으로 존재합니다.
'LINUX > Ubuntu - Basic' 카테고리의 다른 글
Ubuntu basic - RAID (1) (0) | 2021.03.22 |
---|---|
Ubuntu basic - SATA / SCSI 장치 (0) | 2021.03.18 |
Ubuntu basic - 파이프, 필터, 리디렉션, 응급복구 (0) | 2021.03.18 |
Ubuntu basic - 네트워크 파일, 명령어 (0) | 2021.03.18 |
Ubuntu basic - 파일 압축과 예약 실행 (0) | 2021.03.17 |