파이프, 필터, 리디렉션과 서비스, 소켓

신명철·2022년 2월 26일
0

파이프(Pipe)

  • 두개의 프로그램을 연결해주는 연결통로
  • | 문자를 사용
  • e.g) # ls -l /etc | more

필터(filter)

  • 필요한 것만 걸러주는 명령어
  • grep, tail, wc, sort, awk, sed 등..
  • 주로 파이프와 같이 사용
  • e.g) # ps -ef | grep bash

리디렉션(redirection)

  • 표준 입출력의 방향을 바꿔 줌
  • e.g) ls -l > list.txt
  • e.g) soft < list.txt > out.txt

프로세스, 데몬

  • 하드디스크에 저장된 실행코드가 메모리에 로딩되어 활성화된 것

포그라운드 프로세스

  • 실행하면 화면에 나타나서 사용자와 상호작용 하는 프로세스

백그라운드 프로세스

  • 실행은 됐지만 화면에 나타나지 않고 실행되는 프로세스

작업 번호

  • 현재 실행되고 있는 백그라운드 프로세스의 순차번호

부모 프로세스와 자식 프로세스

  • 모든 프로세스는 부모 프로세스를 가짐
  • 부모 프로세스를 kill 하면 자식 프로세스도 자동으로 kill 됨

프로세스 관련 명령어

  • ps
    • 현재 프로세스의 상태를 확인
    • ps -ef | grep <프로세스 이름> 을 주로 사용
  • kill
    • 프로세스를 강제로 종료하는 명령어
    • kill -9 <프로세스 번호>는 강제 종료
  • pstree
    • 부모 프로세스와 자식 프로세스를 트리 형태로 보여줌 (잘 쓰지 않음)

서비스

  • 시스템과 독자적으로 구동되어 제공하는 프로세스
  • 예로 웹 서버, DB 서버, FTP 서버 등이 있다.
  • 실행 및 종료는 대게 systemctl start/stop/restart 서비스이름 으로 사용된다.
  • 서비스의 실행 스크립트 파일은 /lib/systemd/system/디렉터리에 서비스이름.service 라는 이름으로 확인할 수 있다. 예로 Cron 서비스는 cron.service 라는 이름의 파일로 존재한다.
  • 부팅과 동시에 서비스의 자동 실행 여부를 지정할 수 있는데, 터미널에서 systemctl list-unit-files 명령을 실행하면 현재 사용(enabled)과 사용 안함(disabled)을 확인할 수 있다.

소켓

  • 서비스는 항상 가동되지만, 소켓은 외부에서 특정 서비스를 요청할 경우 systemd가 구동시킨다. 그리고 요청이 끝나면 소켓도 종료된다.
  • 그렇기 때문에 소켓으로 설정된 서비스를 요청할 때는 처음 연결되는 시간이 앞에서 설명한 서비스에 비교했을 때 약간 더 걸릴 수 있다. systemd 가 서비스를 새로 구동하는데 소요되는 시간이기 때문이다.
  • 소켓관 관련된 스크립트 파일은 /lib/systemd/system/ 디렉터리에 소켓이름.socket 이라는 이름으로 존재
profile
내 머릿속 지우개

0개의 댓글