아래에 표시된 python 스크립트를 실행하고 있습니다. 스크립트는 원격 시스템에 ssh를 수행하고 백그라운드에서 c 프로그램을 실행합니다. 그러나 파이썬 스크립트를 실행하면 다음과 같은 결과가 출력됩니다.프로세스가 백그라운드로 진행되지 않습니다.
위의 내용은 a.out이 실행되었고 pid가 [1] 2115임을 의미합니다. 그러나 내가 원격 컴퓨터에 로그인하고 'ps'명령을 통해 a.out을 확인하면 나는 그것을 보지 못합니다. 또 다른 관찰은 Python 스크립트 thread.sleep (20)에 지연 명령문을 추가하고 스크립트가 실행되는 동안 원격 시스템을 체크인하면 a.out이 활성 상태라는 것입니다.
#!/usr/bin/python
import HostMod #where ssh function is wrote
COMMAND_PROMPT1 = '[#$] '
p = HostMod.HostModule()
obj1=p.HostLogin('10.200.2.197', 'root', 'newnet') #ssh connection to remote system
obj1.sendline ('./a.out > test.txt &') #sending program to remote machine to executethere
obj1.expect (COMMAND_PROMPT1)
print obj1.before
#a.out program
int main()
{
while(1)
{
sleep(10);
}
return 0;
}
왜 ssh 용 Fabric과 같은 것을 사용하지 않습니까? –