Linux/기본

Linux 프로세스, 서비스, 소켓

no-na 2026. 6. 1. 15:31

프로세스

  • 프로세스(Process)란 '하드디스크에 저장된 실행 코드(프로그램)가 메모리에 로딩되어 활성화된 것'
  1. 포그라운드 프로세스
    • 포그라운드 프로세스(Foreground Process)는 FIrefox와 같이 실행하면 화면에 나타나 사용자와 상호작용하는 프로세스를 말한다.
    • 즉, 화면에서 실행되고 있는 프로그램이 프로세스라고 생각하면 된다.
  2. 백그라운드 프로세스
    • 백그라운드 프로세스(Background Process)는 실행은 되었지만, 화면에는 나타나지 않는 프로세스를 말한다.
    • 예) 바이러스 백신, 서버 데몬(서비스) 등
  3. 프로세스 번호
    • 프로세스에 할당된 고유 번호를 프로세스 번호라고 한다.
    • 프로세스 번호를 사용해 메모리에 활성화된 특정 프로세스를 찾고 강제로 제거할 수 있다.
  4. 작업 번호
    • 현재 실행되는 백그라운드 프로세스의 순차 번호를 의미한다.
  5. 부모 프로세스와 자식 프로세스
    • 모든 프로세스는 부모 프로세스에 종속되어 실행된다.

[프로세스와 관련된 주요 명령]

명령어 설명
ps 현재 프로세스의 상태를 확인하는 명령.
kill 프로세스를 강제로 종료하는 명령
-9 옵션과 함께 사용하면 무조건 프로세스가 종료됨
pstree 부모 프로세스와 자식 프로세스의 관계를 트리 형태로 출력

 


서비스

  • 서비스(service)는 프로세스를 의미하며 데몬(daemon)이라고도 불린다.
  • 즉, 서비스는 웹 서버, 네임 서버, DB 서버 등의 프로세스를 지칭하는 말이다.
  • 서비스는 눈에 보이지 않지만, 현재 시스템에서 동작 중인 프로세스이므로 백그라운드 프로세스의 일종이라고 할 수 있다.
  • 서비스 : 평상시에 작동하는 서버 프로세스
  • 소켓 : 필요할 때만 작동하는 서버 프로세스
  • systemd라고 부르는 서비스 매니저 프로그램으로 서비스와 소켓을 작동시키거나 관리한다.

 

서비스의 특징

  • 서비스는 시스템과는 무관하게 독립적으로 실행되는 프로세스다.
    예) 웹 서버 서비스(httpd), DB 서버 서비스(mysqld), FTP 서버 서비스(vsftpd)
  • systemctl start/stop/restart 서비스이름 명령을 사용해 서비스를 실행하거나 종료한다.
    웹 서버 서비스는 systemctl start httpd 명령으로 구동한다.
  • 서비스 실행 스크립트 파일의 이름은 /usr/lib/systemd/system/ 디렉터리에 '서비스이름.service'라는 형식으로 기록되어 있다.
  • systemctl list-unit-files 명령을 실행하면 현재 설정된 자동 실행 여부를 확인할 수 있다.

 

소켓의 특징

  • 필요할 때만 작동하는 서버 프로세스를 의미한다.
    예) 텔넷 서버
  • 소켓과 관련된 스크립트 파일의 이름은 /usr/lib/systemd/system 디렉터리에 '소켓이름.socket'이라는 형식으로 기록되어 있다.

'Linux > 기본' 카테고리의 다른 글

Linux RAID  (0) 2026.06.04
Linux 응급 복구 방법(root 비밀번호 복구)  (0) 2026.06.01
Linux 파이프, 필터, 리디렉션  (0) 2026.06.01
Linux 네트워크 관련 설정과 명령어  (0) 2026.06.01
Linux 관리자를 위한 명령어  (0) 2026.05.30