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