나스 도커에 우분투를 돌려서 사용하니 나스 자체 성능이 좋지 않아서 인지 프로세스가 많아지면 자동화 명령어가 잘 먹지 않는다. 처음엔 코드 문제인줄 알고 코드를 뜯어보니 코드에는 별 문제가 없어 이상하다 여기다가 ps 명령어로 프로세스를 보니 실행됐던 프로세스가 죽지 않고 그대로 살아서 메모리를 차지하고 있었다. 해결책으로 killall 명령어가 담긴 스크립트 파일을 만들어 크론탭으로 좀비 프로세스를 죽이는 자동화 등록을 했다. 매일마다 한 번씩 좀비 프로세스를 자동으로 제거한다. 제대로 작동이 되는지 태스트를 해보니 Permission denied라는 오류를 뿜는다. 권한이 없다는 이야기다. 이 글에서는 우분투를 비롯한 리눅스 환경에서 .sh 스크립트 파일 실행시 Permission denied 오류 해결 방법을 소개하도록 하겠다.
.sh 스크립트 실행시 Permission denied 오류 해결방법
chmod +x로 권한을 부여해주면 간단히 해결이 가능하다. aaa.sh 라는 파일의 권한을 변경을 한다고 예를 들어 보겠다. aaa.sh의 경로가 ‘/home/bhc/aaa.sh’ 일 때, cd명령어를 이용해 해당 경로로 이동해 파일명을 입력하던지 혹은 전체 경로와 파일명을 입력해준다.
cd 명령어로 /home/bhc/로 경로 이동 후,
chmod +x aaa.sh
또는 경로 이동없이 전체 경로와 파일명을 입력한다.
chmod +x /home/bhc/aaa.sh
파일의 권한을 변경해주었다면 이제 스크립트를 실행하면 된다. 정상적으로 스크립트가 실행이 되면 제대로 권한 변경이 완료 된 것이다.