IO에 액세스할 때 강제 종료 프로그램이 멈추는 방법(firefox)

IO에 액세스할 때 강제 종료 프로그램이 멈추는 방법(firefox)

Firefox를 사용하여 sshfs 마운트 지점을 통해 일부 파일을 표시하고 있습니다...

그러나 이 마운트 지점의 연결이 끊어집니다. 실수로 페이지를 다시 로드하면 Firefox가 영원히 멈추게 됩니다.죽여도 안 돼..

예를 들어, D여기에서는 여전히 ""가 포함된 Firefox 프로세스를 볼 수 있습니다.

$ ps aux | grep firefox
plasmab    10269  0.8  4.2 3253252 344216 ?      D    18:12   0:51 /usr/lib/firefox/firefox
plasmab    13350  0.0  0.0  21996  1148 pts/3    S+   19:50   0:00 grep --color=auto firefox

그리고 이것은 killall -9 firefox. 노력해 kill -9 10269도 소용이 없습니다 .

이제 나는 팔로우한다파일을 삭제하는 lock단계.parentlock, 하지만 이후에도 여전히 "D" 프로세스가 표시됩니다. 그럼에도 불구하고 Firefox를 다시 시작하고 다시 닫았더니 원치 않는 프로세스가 사라졌습니다...

그러니 잠긴 파일을 삭제하세요그리고프로세스가 중단되었음에도 불구하고 Firefox를 다시 시작해도 여전히 작동했습니다. 더 좋은 방법이 있나요?

이 문제가 더 일반적일 수 있다고 생각됩니다. 예를 들어, 간단한 ls.

답변1

프로세스가 D중단되지 않은 절전 상태에 있습니다. 대기가 끝날 때까지 어떤 신호도 종료되지 않습니다. 일반적으로 원인은 불완전한 I/O입니다.

귀하의 경우 연결이 끊어졌지만 닫히지 않았습니다. 아직 수행할 재시도가 남아 있거나 CLOSE_WAIT 상태입니다. 충분히 오래 기다리면 작동하지만 포기한 kill후에만 가능합니다 .sshfs

먼저 프로세스를 종료한 다음 Firefox를 종료 해야 합니다 sshfs. 기본 파일 시스템이 사라지므로 더 이상 기다릴 필요가 없습니다(더 이상 sshfs).

따라서 빠른 수정:

  • sshf를 죽여라
  • 파이어폭스를 죽여라

당신이 조사하고 싶은 -o reconnect옵션 도 있습니다 sshfs.

관련 정보