USB 플래시 드라이브에 파일(이라고 부르겠습니다)을 쓰고 있습니다 xyz.bin
... 플래시 드라이브는 /media/myUsb... 경로 아래에 마운트되어 있습니다.
데이터 손실을 방지하기 위해 다음과 같은 동기화 명령을 실행하고 있습니다.
sync -f /media/myUsb
그런 다음 추가 명령을 사용하여 다음과 같이 플래시 드라이브를 분리/제거했습니다.안전한 제거
질문:sync
이 플래시 드라이브를 사용하는 팀에서는 가끔 파일이 손상된다고 합니다... 아무것도 버리기 위해 앱을 디버깅하고 있는데 명령이 올바르게 완료되고 있는지 아니면 단지 오해하고 있는 것인지 걱정됩니다 sync man page
.
편집하다
도움이 된다면 실행 프로세스에 대한 추가 세부 정보를 가져오겠습니다... JAVA를 사용하여:
- 첨부된 펜 드라이브나 플래시 드라이브에 파일을 복사합니다.
- 나는 OS commnad sync를 다음과 같이 호출합니다:
sync -f /media/myUsb
(프로세스API - 명령이 OK를 반환하면(저는 다음을 사용하여 이를 기다립니다:프로세스.기다려()); 그런 다음 실행합니다
udisksctl unmount -b <usbMountPoint>
... 명령이 OK를 반환하면(다시 한번 기다립니다...) 다음을 실행합니다.
udisksctl power-off -b <usbDevice>
명령이 OK를 반환하면(다시 기다립니다...) 쓰기 및 분리가 성공한 것으로 간주합니다! 그래서 운영자에게 펜 드라이브나 플래시 드라이브를 제거하라고 지시하는데...
그런 다음 다른 팀이 펜 드라이브를 받고 작성된 파일을 읽으려고 시도합니다... 때로는 모든 것이 잘 작동하지만... 다른 경우에는 파일이 손상되어 읽을 수 없다고 합니다...
이제 문제가 무엇인지 알아보기 위해 다양한 테스트를 수행하고 있습니다. 그러나 실행된 OS 명령이 올바르게 실행되었는지, 아니면 전혀 이해되지 않는 것을 호출하고 있는지 의심스럽습니다.