>  Q&A  >  본문

실행 중인 쉘 스크립트에서 백그라운드 프로세스를 중지하는 방법

<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>
P粉722409996P粉722409996413일 전668

모든 응답(1)나는 대답할 것이다

  • P粉521748211

    P粉5217482112023-09-04 17:45:03

    아니요. exec echo "Test" 后停止。exec의 스크립트는 현재 프로세스(즉, 쉘 스크립트)를 다음 명령으로 대체합니다. 다음을 통해 확인할 수 있습니다:

    으아악

    해결책은 간단합니다. exec를 사용하지 마세요.

    BTW: 쉘 스크립트에서 fg。在交互式shell中,fg를 사용하려는 이유가 명확하지 않으며 스크립트에서는 작동하지 않습니다.

    회신하다
    0
  • 취소회신하다