나는 사용하고있다이것백그라운드에서 프로세스를 실행하는 방법입니다.
"$@" &>/dev/null &disown
다음을 어떻게 달성할 수 있습니까?
- 배경 가져오기
pid
- 다른 스크립트에서 사용할 수 있도록 반환하시겠습니까?
답변1
쉘은 가장 최근에 시작된 백그라운드 작업의 프로세스 ID를 사용할 수 있습니다 $!
.
예를 들어 파일이나 표준 출력으로 출력할 수 있습니다.
"$@" &>/dev/null &
disown
printf '%d\n' "$!" >background.pid
그러면 다른 스크립트가
./first-script.sh some command line
thepid=$( <background.pid )
또는 첫 번째 스크립트가 단순히 프로세스 ID를 표준 출력으로 인쇄하는 경우 두 번째 스크립트는 다음을 수행할 수 있습니다.
thepid=$( ./first-script.sh some command line )