Capistrano 작업 (백그라운드에서 데몬을 시작하려고 시도한 작업)이 걸려있는 이유를 알아 내려고 시도한 결과,을 ssh에서 bash로 사용하면 후속 프로그램이 배경. 나는 bash 4.1.5와 4.2.20에서 그것을 시도했다.bash && 연산자가 ssh를 통한 배경 지우기를 방지합니다.
다음은 bash는 (sleep
가 끝날 때까지 즉, 대기) 중단됩니다 :
ssh localhost "cd /tmp && nohup sleep 10 >/dev/null 2>&1 &"
다음은하지 않습니다 :
ssh localhost "cd /tmp ; nohup sleep 10 >/dev/null 2>&1 &"
어느 쪽도하지 않습니다이 :
cd /tmp && nohup sleep 10 >/dev/null 2>&1 &
zsh와 dash는 모두 &&
에 관계없이 모든 경우 백그라운드에서 실행됩니다. 및 ssh. bash 또는 버그에 대한 정상/예상 동작입니까?
내가 정확하게 귀하의 질문에 대한 답을 모른다, 그러나 것 원격지에서 Bash를 사용하면서 SSH를 사용할 때 가끔 비슷한 자극을 받았다고합니다. 나는 문제가 Bash에 특화되어 있는지 알지 못하지만, 때때로'nohup' 명령보다는 Bash 쉘의'disown' 내장 명령을 사용하여 더 나은 행운을 얻었습니다. 관심이 있다면'help disown | 배쉬 (Bash)를 실행하는 동안 '덜'. 그리고 일반적인 해결책을 배웠다면 여기에 게시하십시오. 나는 관심을 가져야한다. – thb
나는'disown','nohup'과 리다이렉션의 다양한 조합으로 무차별 적으로 시도했다. '&&'는 항상 배경을 금지합니다. 서브 쉘에서 두 명령을 묶는 방법으로 도망 갈 수는 있지만 실제로 같은 것은 아닙니다. – Hinrik
명령이 나를 위해 작동하는 것 같습니다. 매달리는 것의 의미는 무엇입니까? 'cd'는 오랜 시간이 걸립니까? 원격 서버와 관련된 문제 일 수 있습니다 (예 : 너무 많은 짐. – suvayu