저는 MobaXterm의 Linux에서 rclone sync를 사용하여 일부 대용량 데이터 세트를 Google 드라이브에 복사하고 있습니다. 제가 제출한 작품은 다음과 같습니다.
-cpu:~$ nohup rclone sync /path_to_source/. /path_to_destination &
[1] 16310
작업 상태를 보기 위해 "작업"을 실행하면 실행 중입니다.
-cpu:~$jobs
[1]- Running nohup rclone sync /path_to_source `/path_to_destination &`
그러나 몇 시간 후에 어떤 이유로 세션이 중지될 수도 있습니다.
Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file
Server unexpectedly closed network connection
그래서 세션을 다시 시작하고 로그인하여 "작업"을 실행했지만 아무 것도 표시되지 않았습니다.
-`cpu:~$jobs`
-`cpu:~$
nohup을 사용했고 위에서 동일한 동기화 명령줄을 실행했을 때 여전히 복제 중이었기 때문에 이 작업이 아직 완료되지 않았다는 것을 알고 있습니다.
세션을 다시 시작하고 작업을 사용한 후 실행 중인 작업을 볼 수 없는 이유는 무엇입니까? 아니면 직장 ID로 어떻게 볼 수 있나요? 감사합니다.
답변1
내장 jobs
명령/유틸리티/셸은 현재 셸 세션과 관련된 작업만 나열합니다. 이것POSIX 사양다음 동작을 정의합니다.
설명하다
작업 유틸리티는 현재 셸 환경에서 시작된 작업 상태를 표시해야 합니다. 셸 실행 환경을 참조하세요.
원래 세션이 중단되고 시스템에 다시 연결되면 다른 세션(또는 혼동을 피하기 위해 다른 "셸 실행 환경")이 종료됩니다. 이 새 세션에서 셸은 이전 세션에서 시작된 작업을 추적하지 않습니다.
명령을 백그라운드로 실행하기 위해 연산자 nohup
와 함께 이 명령을 사용했으므로 시스템에서 계속 실행되는 것을 볼 수 있습니다. &
실행 중이면 ps -ef | grep rclone
실행 중인 프로세스가 표시되어야 합니다.
관련 품질 검사:jobs 명령이 쉘 스크립트에서 작동하지 않는 이유는 무엇입니까?,"jobs" 명령에는 중지된 작업이 표시되지 않습니다..