"인터럽터 블 슬립"상태는 무엇을 나타 냅니까?


18

Firefox를 Parted Magic LiveCD에서 실행 한 다음, 아마도 기억 나지 않는 키 조합의 결과로 화면과 작업 표시 줄 / 창 목록에서 빨리 사라졌습니다.

하나:

  1. ps ax | grep firefox아래와 불필요한 grep firefox줄을 반환합니다 . psGUI 작업 관리자와 GUI 작업 관리자 모두 변하지 않는 RSS, VM-SIZE 및 0 % CPU 사용량으로 파이어 폭스를 보여줍니다.

    johndoe 1916 36.6 14.0 923772 504372 tty1 Sl 13:30 12:15 파이어 폭스


  2. pstree | grep firefox 보고:

    init─┬─2 * [ROX-Filer───firefox───25 * [{firefox}]]


  3. strace -p 1916 돌아와서이 줄에 영원히 머무 릅니다.

    futex(0xac975608), FUTEX_WAIT_PRIVATE, 1, NULL

나는에 대한 답변에서 이해 PS의 평균에서 STAT 열 값을 무엇입니까? 있음 S(는에서 Sl) 프로세스는 것을 나타내는 interruptible sleep상태.

누구든지 국가가 무엇인지 더 자세하게 설명 할 수 있습니까?

편집하다

나는 원래의 두 번째 질문을 다루기 위해 배포판에 대해 더 구체적인 내용을 가진 새로운 질문을 시작할 것입니다.


@Braiam-완료 나는 처음했던 것처럼 어떻게 든 도움이 문제에서 벗어난 것처럼 Parted Magic을 풀 타임 배포판으로 사용하고 있다는 신념에 근거한 토론으로 토론하기를 꺼려했다. 나는 이것이 이번에는 일어나지 않기를 진심으로 바란다 :(
— user66001

답변:


18

@msw는 두 번째 Q와 일부 첫 번째 설명을 잘 수행했습니다.

B) 개인 브라우징 모드에서 성가신 열었던 탭을 (최소한) 저장하기 위해 비교적 쉬운 방법을 제안하십시오.

그래서 나는 당신의 첫 번째 Q를 조금 더 다루려고 노력할 것입니다 :

A) 국가가 무엇인지 더 자세하게 설명해 주시겠습니까?

상태 값 Sl(소문자 L) :

   S    Interruptible sleep (waiting for an event to complete)
   l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

                 프로세스 수명주기

PROCESS STATE CODES
   R  running or runnable (on run queue)
   D  uninterruptible sleep (usually IO)
   S  interruptible sleep (waiting for an event to complete)
   Z  defunct/zombie, terminated but not reaped by its parent
   T  stopped, either by a job control signal or because
      it is being traced
   [...]

자세한 내용은 신호 매뉴얼 페이지 및 man 7 signal이 자습서 ( Linux 프로세스 상태)에서 확인할 수 있습니다.


내부 작업을 이해하는 데 매우 도움이됩니다. 감사! +1
— 66001

@ user66001은 answer.it도 받아 들이고 감사합니다.
— muneeb_ahmed

8

Firefox 프로세스에 아무런 작업을 수행하지 않았습니다. 이미 S 상태였습니다. "인터럽터 블 슬립"은 효과적으로 유휴 상태를 의미합니다. 프로세스가 대기 중이며 입력을 받으면 깨어납니다. 사용 중일 때 프로세스를 잡지 않으면 프로세스의 정상적인 상태입니다.

창이 사라졌습니다. 다른 데스크탑으로 보냈을 수도 있습니다. "일반적인"방법으로 되 돌리는 방법은 지정하지 않은 창 관리자에 전적으로 달려 있습니다.

다른 도구를 사용하여 창을 검색 할 수는 있지만 실제로 발생한 일과 창 관리자의 협조 여부에 따라 다릅니다. wmctrl을 사용해보십시오 . 먼저로 Firefox 창을 나열하십시오 wmctrl -l | grep Firefox. 첫 번째 열의 창 ID는 0x12345678입니다. 창을 현재 데스크탑으로 다시 가져 오려면 wmctrl -R 0x12345678; 또는 wmctrl -a 0x12345678데스크톱으로 전환하는 데 사용하십시오 . (화면 외부의 창을 처리하거나 단일 픽셀로 축소) 최대화하려면을 실행하십시오 wmctrl -r 0x12345678 -b add,maximized_vert,maximized_horz. 또는으로 창을 이동하고 크기를 조정하십시오 wmctrl -r 0x12345678 -e 1,50,100,1000,800. 당신은 풀어 내리기에 필요하거나 함께 창 숨기기를 취소 할 수 있습니다 wmctrl -r 0x12345678 -b remove,shaded또는 wmctrl -r 0x12345678 -b remove,hidden.


감사합니다 Gilles-이것은 이상하게 들릴지 모르지만 실행중인 Window Manager가 확실하지 않습니다. LXDE 일 수 있습니까 (LXPanel 상자에 나와 있음)? 또한, wmctrl이 내 배포판에서 사용 가능하지 않은 것 같습니다. 무지를 용서하십시오. 그러나 wmctrl을 다운로드하여 실행하거나 설치해야합니까 (종속성 등)?
— user66001 2013 년

@ user66001 LXDE는 데스크탑 환경입니다. 기본 창 관리자는 Openbox입니다 (다른 창이 지원되는지 확실하지 않습니다). 배포판에 wmctrl이 없으면 소스를 다운로드하여 컴파일 할 수 있습니다. 몇 개의 라이브러리에 의존하지만 이국적인 라이브러리는 없으며 배포판에서 제공해야합니다. 당신이 가지고 있다면 xdotool, 이것들 모두 또는 적어도 유용한 것을 모두 할 수 있으므로 시도해보십시오 (매뉴얼의 창 명령과 바탕 화면 및 창 명령을보십시오).
— Gilles 'SO- 악마 그만해

아 고마워 아니오 xdotool중 - 당신이 그것을 의미 할 때, 당신은 컴파일에 대해 얘기 "이 모든 것을 할 수있을 수 없다" wmctrl당신이 그것으로 수행 할 수있는, 또는 작업을? Linux 소스 컴파일에 대한 권장 안내서 (Windows 환경에서 Linux를 처음 사용하는 경우)를 알려주시겠습니까?
— user66001 2013 년

@ user66001 나는 의미가 xdotool있고 wmctrl비슷한 기능을 가지고 있습니다 (여기서 필요한 것이면 제공하는 것과 다릅니다). Linux를 처음 사용하는 경우 더 많은 패키지가 포함 된 배포를 권장합니다. RHEL 또는 CentOS 또는 Scientific Linux와 같은 변형을 실행중인 경우 Repoforge에 패키지가 있습니다 . 소스에서 빌드하려면이 내용을 읽으십시오 . 패키지를 찾으면 설치하는 것이 더 쉽습니다.
— Gilles 'SO- 악마 그만해

어떤 도구를 더 쉽게 구축 할 수 있어야합니까? 또한 배포판에 패키지 관리자가 없다면 어떤 유형의 패키지입니까? 찾고 있어야합니다 (이것은 비논리적 인 질문이라고 생각하지만 패키지가 바이너리 바이너리 묶음이고 종속성이 나열되어 있고 구성 변경 사항이 있다고 가정하는 것이 잘못 된 경우 물어볼 것이라고 생각 했습니까?)
— user66001 2013 년

2

X 클라이언트가 연결을 잃어 버릴 수 있으며 어쨌든 통보받지 못할 수 있습니다. 프로세스는 종종 소켓을 기다릴 것입니다. 아무것도 올 수없는 소켓에서 대기합니다.

Firefox 만 해당 (Gvim 또는 Chrome과 같은 일부 다른 프로그램은 오류 상태를 저장하기위한 특별 조항을 작성) 간단한 경우 :

$ kill -TERM pid

프로세스가 열린 탭 목록을 저장할 수있는 기회를 제공하지만 양식 내용이나 유지해야 할 다른 상태는 중요하지 않습니다.


로컬 X 클라이언트가 특히 키를 누르면 X 서버와의 연결이 끊어 질 가능성은 거의 없습니다. Firefox를 종료하면 개인 브라우징 모드에서 창에 대한 정보가 저장되지 않습니다.
— Gilles 'SO- 악마 그만해

나는 Lazarus 를 사용 하고 (개인 브라우징 모드를 사용하여 기본 Gmail 계정을 전환하려고 시도하지 않을 때 gdocs를 열어 모든 Gmail 계정에서 로그 아웃하지 않고 탭에 인접한 웹 사이트의 정보를 사용하여 문서를 보거나 편집합니다. -Google, Grr)은 FF "마지막 시간부터 내 창 및 탭 기억"을 가지고 있으므로 개인 정보 보호 브라우징 모드에서 열린 탭만 신경 씁니다. 따라서에 대한 위의 주장을 아는 것이 좋지만 killFF 가이 상황에서 내 탭을 저장하지 않을 것입니다. FF가 X에 다시 연결되는 방법은 무엇입니까?
— user66001 2013 년

"FF가 X에 다시 부착하는 방법은?" 클라이언트 프로세스가 신호를받지 않고 창을 매핑 해제 / 파괴하는 방법을 알 수 없었기 때문에 FF 프로그램에서 UI까지의 소켓이 열린 채로 있다고 가정합니다. 프로세스가 소켓에 연결되어있는 한 프로세스가 그 소켓을 활용할 수있는 방법을 알지 못합니다. (지금 당신이 그것에 대해 생각하게 만들었 기 때문에, 이것은 X 서버와 클라이언트 사이의 프로토콜 오류로 인해 디버그하기가 어려울 것입니다 (즉, 시도하지 않을 것입니다).
— msw
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.