카테고리 없음

[ WSL2 with Ubuntu ] [코드 xxxx 로 프로세스 종료됨] 오류 해결 방법 (Process terminated with code xxxx)

루시 2021. 3. 8. 02:32

"코드 xxxx 로 프로세스 종료됨"

"Process terminated with code xxxx"

 

 

 

해결 방법

 

STEP 1. Windows PowerShell 을 켜고 다음 명령 실행

( 현재 리눅스 터미널이 실행되지 않으므로, 윈도우 PowerShell 에서 wsl 을 명령어로 접근해 "기본 실행 쉘을 변경" )

 

wsl -e sudo chsh -s /usr/bin/bash [사용자 계정명]

 

-e 옵션을 반드시 준다.

 

    --exec, -e <명령줄>
        기본 Linux 을 사용하지 않고 지정된 명령을 실행한다.

 

에러를 뱉는 시점에서는 실행되는 기본 이 깨진 상태(본인의 상황에선 zsh가 삭제된 상태)이기 때문에, -e 옵션 주지 않고 추가 명령을 줘바짜 아무런 변화가 없을 것이다.

 

 

 

 

STEP 2. 이후 터미널을 실행해서 에러없이 정상 실행되는지 확인

 

 

 

 

끗!

 

 

 

 

 

 

 

 

 

 

해당 에러

[코드 xxxx 로 프로세스 종료됨]

[Process terminated with code xxxx]


에러 발생 상황

나의 경우에는 zsh 를 삭제한 뒤, rm 명령어로 .zsh* 류의 설정 파일들도 모두 삭제했고,

그 이후 Ubuntu 터미널 재시작 시 [코드 01로 프로세스 종료됨] 에러가 발생한 상황이다.

 

원인 분석 및 접근

이와 같은 상황에서 쉘이 정상적으로 작동하지 않아 위와 같은 에러를 뱉고 있었고

혹시나 해서 /etc/passwd 에서 사용자 계정을 확인해보니, 역시나 삭제한 zsh 을 사용하도록 설정되어 있었다.

이 때문에 발생하는 에러가 아닐까 판단 후,

해당 계정이 터미널에서 사용할 shell 을 변경하여 해결

 

요약

WSL2 (Ubuntu 사용) 환경에서 윈도우는 기본적으로 wsl (또는 ubuntu) 명령어를 통해서 리눅스 쉘을 실행한다.

쉘이 깨진 상황이므로 다음과 같이 wsl 실행 시, -e 를 통해 shell 변경 명령을 실행한다.

 

wsl -e sudo chsh -s /bin/bash [사용자 계정명]

또는 wsl -e sudochsh -s /bin/dash [사용자 계정명]

또는 wsl -e sudochsh -s /bin/sh [사용자 계정명]

 

zsh를 대부분 사용하다가 이 에러를 만나는 경우가 많을 것이고,

dash 든 bash 든 일단 정상적으로 실행되는 기본 쉘로 변경해준다.