파이프(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 이라는 이름으로 존재