포그라운드에서 프로세스를 시작하고 해당 PID를 파일에 저장하는 방법은 무엇입니까?

포그라운드에서 프로세스를 시작하고 해당 PID를 파일에 저장하는 방법은 무엇입니까?

프로세스를 시작할 때 PID를 저장하는 방법이 있습니까? 시작된 프로세스가 완료될 때까지 스크립트는 명령줄로 돌아가서는 안 됩니다. 그리고 Ctrl+를 통해 프로세스를 종료할 수 있는 가능성도 유지되어야 합니다.C

답변1

command &
echo $! > file
fg > /dev/null

작업 제어가 없으면 먼저 다음 명령을 사용하여 모니터 모드를 켜십시오.

set -m

모니터 모드에 대한 자세한 내용은 여기를 참조하세요.Bash에서 모니터 모드 끄기.

답변2

Ctrl정확한 동작 은 확실하지 않지만 C작업 제어를 사용하지 않는 솔루션은 다음과 같습니다.

( command & echo $! > file; wait )

관련 정보