연결이 끊어져도 계속 실행되는 프로그램을 SSH를 통해 실행하려고 합니다.이 스택 오버플로 답변나에게 다음 명령을 주었다:
nohup sleep 30 > foo.out 2> foo.err < /dev/null &
불행히도 작동하지 않는 것 같습니다. 원격 bash 셸에 로그인( ssh -Y
)하여 실행하고 연결을 끊었다가 30초 이내에 돌아오지만 jobs
아무 것도 나타나지 않고 foo
파일에도 아무 것도 표시되지 않습니다. 로그아웃한 후 SSH를 통해 백그라운드 작업을 실행할 수 있는 다른 방법이 있나요?
답변1
ssh user@server "echo /usr/run/my/job | at now +1 min"
답변2
jobs
다른 셸에서 프로세스를 생성하면 해당 매뉴얼 페이지 설명의 첫 번째 줄은 아무것도 표시되지 않습니다.
작업 유틸리티는 현재 쉘 환경에서 시작된 작업의 상태를 표시해야 합니다.
따라서 해당 머신에 ssh를 연결 sleep 30 &
한 다음 다른 창에서 ssh를 실행할 수 있습니다. 하지만 jobs
프로세스가 여전히 실행 중임에도 불구하고 다른 창에는 아무 것도 표시되지 않습니다. 가지고 있는 명령이 작동하는지 확인 하려면 ps
또는 (예 : ) 을 사용하세요.pgrep
pgrep sleep