mysql 클라이언트를 사용하여 일부 명령을 실행하기 위해 백그라운드에서 mysqld를 실행하려고 하는데 프로세스를 포그라운드로 전환하면 스크립트 실행이 중지됩니다. 제가 사용하는 스크립트는 다음과 같습니다.
set -m daemon="/usr/bin/mysqld --user=mysql --console --skip-name-resolve --skip-networking=0 $@" $데몬 & exec echo "테스트" 실행fg% 1
저는 쉘 스크립트 프로그래밍 전문가가 아닙니다. 일부 웹사이트를 찾아보니 이 명령 실행 방법을 발견했습니다.
아니요.
으아악exec echo "Test"
后停止。exec
의 스크립트는 현재 프로세스(즉, 쉘 스크립트)를 다음 명령으로 대체합니다. 다음을 통해 확인할 수 있습니다:해결책은 간단합니다.
exec
를 사용하지 마세요.BTW: 쉘 스크립트에서
fg
。在交互式shell中,fg
를 사용하려는 이유가 명확하지 않으며 스크립트에서는 작동하지 않습니다.