본문 바로가기

백그라운드

Python 프로그램을 nohup & 으로 백그라운드 동작시 UnicodeEncodeError: 'ascii' codec can't encode character 과 같은 에러가 날 경우 Python 프로그램을 nohup 과 & 을 이용하여 아래와 같이 백그라운드로 실행할 경우 $ nohup 1>/dev/null 2>&1 & Exit 1 메세지와 함께 강제 종료 되는것을 확인 할때가 있는데요. 이때 로그를 찍어 파일을 보면 UnicodeEncodeError: 'ascii' codec can't encode character 위와 같은 에러 문구를 확인 할 수 있는데요. 이때는 그냥 간단히 export PYTHONIOENCODING=utf-8 으로 python 의 encoding 을 utf-8 로 변경해 주시면 됩니다. $ export PYTHONIOENCODING=utf-8 이제 파일을 실행해 보시면 정상적으로 종료되지 않고 작동하는 것을 확인하실 수 있으실 것입니다. 즐거운 개발 되시기..
Linux ( CentOS 혹은 Ubuntu 등 ) 에서 명령어를 백그라운드(Background)로 실행하기 리눅스에서 간혹 특정 명령어 ( 고용량 다운로드, 데이터처리, 데이터 복구 등 )를 반나절 혹은 하루 이상 유지해야 할 때가 있는데요. 이때 해당 명령어를 백그라운드(Background)에서 SSH 접속이 끊어지더라도 유지시키는 방법입니다. 일단 명령어를 라고 했을 때 기본 사용방법은 아래와 같으며 $ nohup 1>/dev/null 2>&1 & 예를 들어 보자면 대충 아래와 같이 사용하시면 됩니다. $ nohup mysql -uroot -pPASSWORD DB_NAME /dev/null 2>&1 & 간단히 설명드리면 nohup명령어를 로그아웃 된 상태에서도 유지하도록 해줍니다. 예를 들어 SSH로 접속하여 실행 후 접속이 끊어진다고 해도 명령어가 ..