실행 파일이 일반처럼 작동하지 않음

실행 파일이 일반처럼 작동하지 않음

이 명령을 입력하면

nohup CloudCompute.command &

그것은 결과를 낳는다

[1] 782

그게 내가 원하는 거야. (PID 번호 BTW입니다)

따라서 실행 파일( )에서 동일한 명령을 실행하고 .command출력을 파일에 추가하려고 하면 작동하지 않습니다. CloudCompute.command실행할 때 표시되는 실제 PID가 아닌 출력 내용만 인쇄합니다 . 나는 그것이 같은 디렉토리에 있다고 확신합니다.

왜 이런 일이 발생합니까? 수동으로 입력한 것과 동일한 출력을 생성하도록 실행 파일을 얻으려면 어떻게 해야 합니까?

감사해요

답변1

왜 이런 일이 발생합니까?

해당 출력은 다음과 같습니다.

[1] 782

실행 파일이 아닙니다. bash백그라운드에서 무언가를 실행할 때 터미널에 쓰는 것입니다 . 작업 번호 와 프로세스의 [1]PID 입니다. 782나중에 프로세스가 완료되면 다음과 같은 내용이 표시됩니다.

[1]+  Done                    command

bash이는 1번 작업의 처리가 완료되었음을 알 수 있기 때문이기도 합니다 .

백그라운드에서 명령을 실행하면 PID가 변수에 저장됩니다 $!.

$ sleep 10 &
[1] 1234
$ echo $!
1234

수동으로 입력한 것과 동일한 출력을 생성하도록 실행 파일을 얻으려면 어떻게 해야 합니까?

따라서 실행 파일~이다동일한 출력을 생성합니다.

관련 정보