so_long 개발을 진행하다가 게임 bgm을 넣고 싶은데, 허용 가능 함수에는 없고.. 마지막 희망으로 쉘 스크립트를 뒤져보았다.

hyeonski이 해결 방법을 추천해 주셨고, 그걸 기반으로 원하는 기능을 구현해보았다.

리눅스 '&' 연산자


리눅스 환경에서 현재 사용하는 쉘이 아니라 서브쉘을 생성해 백그라운드에서 실행할 때 사용한다. 아래와 같이 명령어 뒤에 &를 붙여주면 cmd_1이 백그라운드에서 실행된다.

> cmd_1 &

백그라운드에서 실행하면 해당 프로세스의 PID를 터미널에 출력해준다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/862174bd-561f-4f1e-b6a5-cc235ea566fc/Untitled.png

연속해서 사용하는 경우 아래와 같이 출력된다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d7a9385a-0c11-4938-9a03-be8a3844297c/Untitled.png

서브쉘에서 실행할 명령어와 메인으로 실행할 파일을 아래와 같이 동시에 작성할 수도 있다. 메인쉘에서 실행할 파일은 뒤에 &을 빼고 실행시키면 된다.

> sub.sh & main.sh

명령어 활용하기

이제 이 방법을 활용해서 게임과 bgm을 동시에 출력되게 할 수 있다.