"코드 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 든 일단 정상적으로 실행되는 기본 쉘로 변경해준다.