인프런 커뮤니티 질문&답변

seohyeonjin787님의 프로필 이미지

작성한 질문수

풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]

리눅스 쉘 사용법 이해 (하드링크와 소프트링크)

[CTRL] + c

24.06.13 11:21 작성

·

72

0

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

[CTRL] + c 를 사용하면 foreground 에서 실행되고 있는 프로세스를 종료시켜주신다고 하셨는데 만약에 foreground에서 돌아가고 있는 프로세스가 여러개일 경우 어떤 프로세스가 종료되나요? 가장 직전에 실행한 프로세스가 종료될까요?

답변 1

0

잔재미코딩 DaveLee님의 프로필 이미지

2024. 06. 14. 09:17

안녕하세요. 답변 도우미입니다.

[CTRL] + C는 foreground에서 실행 중인 프로세스를 종료하는 데 사용됩니다. 여러 개의 프로세스가 foreground에서 동시에 실행되는 경우는 일반적인 상황은 아닙니다. 보통 한 번에 하나의 foreground 프로세스만 실행됩니다.

따라서 [CTRL] + C를 사용하면 현재 터미널 세션에서 가장 최근에 foreground로 실행된 프로세스를 종료하게 됩니다. 예를 들어, 어떤 명령어를 실행 중일 때 [CTRL] + C를 누르면 그 명령어가 종료됩니다.

만약 여러 개의 프로세스를 동시에 실행하고 있다면, 다음과 같은 상황일 수 있습니다:

1. 백그라운드 프로세스: 여러 개의 프로세스를 동시에 실행하기 위해 보통 백그라운드 프로세스로 실행합니다 (`&`를 사용하여). 이 경우, [CTRL] + C는 백그라운드 프로세스에는 영향을 주지 않고 foreground 프로세스만 종료합니다.

```bash

command1 &

command2 &

command3 # foreground 프로세스

```

2. 멀티프로세스 관리: tmuxscreen과 같은 터미널 멀티플렉서 도구를 사용하여 여러 개의 세션을 관리할 수 있습니다. 각 세션은 독립적으로 foreground 프로세스를 가질 수 있습니다. 이 경우 [CTRL] + C는 현재 활성화된 세션의 foreground 프로세스를 종료합니다.

만약 여러 개의 프로세스가 같은 터미널 세션에서 동시에 foreground로 실행된다면, 이는 특이한 상황이며 보통 하나의 프로세스가 종료되기 전까지는 다음 프로세스가 foreground로 전환되지 않습니다. 따라서 [CTRL] + C는 항상 현재 활성화된 foreground 프로세스를 종료한다고 이해하시면 됩니다.

 

감사합니다.

잔재미코딩 드림