[개요] linux상에서 프로그램 스스로 종료 시키고 재시작 하는 방법을 정리 합니다. [Flow] 1. Program A 내부에서 update를 수행 하는 스크립트를 실행 system("nohup update.sh fork 2>&1 > /dev/null &"); 을 system 명령어로 실행 2. "update script"는 system 명령어로 실행 되어 Prorgam A의 socket 정보 까지 모두 상속 받게 되었음으로 강제로 열려있는 fd를 종료 합니다. for fd in $(ls /proc/$$/fd/); do [ $fd -gt 2] && exec {fd}