SSH를 통해 다른 스크립트에서 호출된 스크립트 종료

SSH를 통해 다른 스크립트에서 호출된 스크립트 종료

bash 스크립트 X가 다른 bash 스크립트 Y에서 호출되고 있다고 가정합니다. 로컬 컴퓨터에서 스크립트 X를 직접 실행하면 X가 완료된 후 프로그램이 터미널로 종료됩니다.

그러나 SSH를 통해 원격으로 스크립트 Y를 실행하면 X가 완료된 후 (원격) 터미널이 "멈추고" exitX 끝에 명령이 포함되어 있어도 종료되지 않습니다.

함께 제공되는 스크립트 호출을 완료한 후 스크립트 Y를 종료하거나 SSH를 통해 실행될 때 다음 명령을 계속 진행하려면 어떻게 해야 합니까?

//scriptY.sh
#!/bin/bash
...
ssh -i $ssh_key $user@$host source $dir/scriptX.sh
//scriptX completes fine on SSHed machine, but remote machine hangs here
...

편집하다:

도움이 될 수 있는 또 다른 세부 사항입니다. 안쪽에는 뭔가 더 깊은 것이 있어요이것exec명령이 포함된 호출되는 스크립트입니다 .

답변1

이는 아마도 스크립트가 tge 터미널을 열어두는 무언가를 백그라운드에서(& 사용하여) 실행하고 있음을 의미할 수 있습니다. 스크립트가 종료되면 무언가가 계속 실행됩니다. ssh는 이를 감지하고 무언가가 종료될 때까지 세션을 닫지 않습니다.

원하는 작업을 수행하도록 스크립트를 얻으려면 스크립트를 게시해야 합니다.

관련 정보