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


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.