[Linux Server] ‘visudo /etc/sudoers busy, try again later’ 해결
visudo /etc/sudoers busy, try again later
/etc/sudoers 파일에 dlshae 계정을 추가하려고 수정했고 저장을 했다 그런데 자꾸만 dlshae 계정에서 sudo 권한을 사용할 수 없다기에 /etc/sudoers파일을 다시 열려고 하면

visudo: /etc/sudoers busy, try again later 자꾸만 이렇게 뜬다,,
그래서 왜인가 봤더니 알고보니 내가 저장하는 명령어인shift+zz가 아닌 ctrl+z를 눌러버린 것이었다,,,!
visudo를 입력해도 똑같은 결과,,,

알고보니 /etc/sudoers가 백그라운드에서 중지된 상태로 열려있었고, 그렇기에 자꾸만 새로 열려고 해도 ‘busy, try again later’가 뜨는 것이였다 !

해결방법
내가 찾은 해결방법은 프로세스 죽이기!
우선 ps -ef | grep visudo 해서 visudo에 관한 프로세스가 작동 중인지 확인한다

아랫 줄에 있는 건 grep 명령어 사용해서 뜨는 것이고, 윗 줄에 visudo /etc/sudoers 적혀있는데 이게 백그라운드에서 visudo /etc/sudoers가 돌아간다는 뜻이다,,!
결론적으로 visudo /etc/sudoers 프로세스를 죽여야 하기에 kill -9 10897을 입력한다
(여기서 10897은 PID!)
그리고 나서 visudo /etc/sudoers를 다시 입력해보면 아래와 같은 결과!

다시 visudo /etc/suderos 해보면

이렇게 뜨고 여기서 엔터 누르면

/etc/sudoers 파일이 다시 열린다 !

백그라운드에서 돌아가는 프로세스 죽이고 다시 /etc/sudoers 를 열면 Found a swap file by the name이라고 경고 창이 뜰텐데 이건 비정상적인 종료 등으로 .swp 파일이 남겨져있다는 에러!, 매번 뜨는게 귀찮으니 Fount a swap file by the name "/etc/.sudoers.tmp.swp" 여기 적혀있는 경로로 가서 .swp 파일 삭제하면 된다!
그러면 경고 창이 더 이상 안 뜬다!

kill -15 PID
앞선 방법인 kill -9 PID는 프로세스 강제 종료다! 종료 중에서도 강제 종료는 그닥 좋지 않다고 생각한다. 그래서 처음에는 프로세스 정상 종료인 kill -15 PID를 입력했는데


여전히 백그라운드에서 살아있었다,,! STAT는 ‘T’ = sTopped, 즉 멈춰 있거나 흔적이 남아있는 상태,,,,그래서 그냥 kill -9 10897로 강제 종료 했다,,,
Leave a comment