문제
Linux에서 ps -ef | grep httpd 와 같이 파이프(|)를 사용했을 때, 이 명령 조합의 동작을 가장 정확히 설명한 것은?
① ps의 출력을 grep의 표준 입력으로 전달해 httpd가 포함된 행만 걸러 낸다 ② grep의 출력을 ps의 입력으로 전달해 프로세스를 종료한다 ③ ps와 grep을 동시에 백그라운드로 각각 실행한다 ④ httpd 프로세스를 강제로 재시작한다
정답
1번
해설
정답: 1. 파이프(|)는 앞 명령의 표준 출력을 뒤 명령의 표준 입력으로 연결한다. 따라서 ps -ef의 전체 프로세스 목록을 grep이 받아 httpd가 포함된 행만 출력한다.
오답 풀이
- 1번: 파이프가 ps 출력을 grep 입력으로 전달해 필터링하므로 옳다.
- 2번: 방향이 반대이고 grep은 종료 기능이 없다.
- 3번: 파이프는 동시 백그라운드 실행이 아니라 출력-입력 연결이다.
- 4번: 조회·필터링 명령이며 재시작과 무관하다.
보충 개념 grep httpd는 grep 자신도 결과에 잡힐 수 있어 ps -ef | grep [h]ttpd 처럼 정규식을 쓰거나 pgrep httpd를 사용하면 더 깔끔하다.