작성
·
80
0
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
[CTRL] + c 를 사용하면 foreground 에서 실행되고 있는 프로세스를 종료시켜주신다고 하셨는데 만약에 foreground에서 돌아가고 있는 프로세스가 여러개일 경우 어떤 프로세스가 종료되나요? 가장 직전에 실행한 프로세스가 종료될까요?
답변 1
0
안녕하세요. 답변 도우미입니다.
[CTRL] + C
는 foreground에서 실행 중인 프로세스를 종료하는 데 사용됩니다. 여러 개의 프로세스가 foreground에서 동시에 실행되는 경우는 일반적인 상황은 아닙니다. 보통 한 번에 하나의 foreground 프로세스만 실행됩니다.
따라서 [CTRL] + C
를 사용하면 현재 터미널 세션에서 가장 최근에 foreground로 실행된 프로세스를 종료하게 됩니다. 예를 들어, 어떤 명령어를 실행 중일 때 [CTRL] + C
를 누르면 그 명령어가 종료됩니다.
만약 여러 개의 프로세스를 동시에 실행하고 있다면, 다음과 같은 상황일 수 있습니다:
1. 백그라운드 프로세스: 여러 개의 프로세스를 동시에 실행하기 위해 보통 백그라운드 프로세스로 실행합니다 (`&`를 사용하여). 이 경우, [CTRL] + C
는 백그라운드 프로세스에는 영향을 주지 않고 foreground 프로세스만 종료합니다.
```bash
command1 &
command2 &
command3 # foreground 프로세스
```
2. 멀티프로세스 관리: tmux
나 screen
과 같은 터미널 멀티플렉서 도구를 사용하여 여러 개의 세션을 관리할 수 있습니다. 각 세션은 독립적으로 foreground 프로세스를 가질 수 있습니다. 이 경우 [CTRL] + C
는 현재 활성화된 세션의 foreground 프로세스를 종료합니다.
만약 여러 개의 프로세스가 같은 터미널 세션에서 동시에 foreground로 실행된다면, 이는 특이한 상황이며 보통 하나의 프로세스가 종료되기 전까지는 다음 프로세스가 foreground로 전환되지 않습니다. 따라서 [CTRL] + C
는 항상 현재 활성화된 foreground 프로세스를 종료한다고 이해하시면 됩니다.
감사합니다.
잔재미코딩 드림