실행중인 응용 프로그램을 최대 절전 모드로 전환하려면 어떻게합니까?


15

사용 사례 예 :

두 개의 탭을 연 상태에서 Chromium을 실행하고 향후 20 분 동안 애플리케이션에 액세스 할 필요가 없다고 결정합니다. 랩톱 배터리 시간을 절약하기 위해 응용 프로그램을 닫지 않고 Chromium을 최대 절전 모드 (동결)로 설정하고 싶습니다 (모든 탭을 다시 열고 다시로드하면 최대 절전 모드로 저장하려는 시간이 필요함).


1
두 번째 답변은 stackoverflow.com/questions/2134771/… 에서 확인하십시오 . 문제는 크롬이 많은 PID를 사용하고 있으며 PID를 열 때마다 다르다는 것입니다.
GreggD

1
다른 응용 프로그램이 아닌 Chromium에만 관심이있는 경우 OneTab 또는 Session Buddy 와 같은 탭 관리 용으로 설계된 Chromium Extension을 사용할 수 있습니다 .
Moshe Katz

고맙지 만 killall솔루션이 실제로 우아 하다는 것을 알았습니다 . :)
orschiro

답변:


21

killall명령을 사용하여 SIGSTOP주어진 이름과 일치하는 모든 프로세스에 신호 를 보내서 고정하고 나중에 SIGCONT같은 방식으로 다시 해동 할 수 있습니다.

먼저 pgrep -l SEARCH_PATTERN다음을 사용하여 프로세스 이름을 찾으십시오 .

$ pgrep -l chrom
13010 chromium-browse
13036 chromium-browse
13038 chromium-browse
13153 chromium-browse
13166 chromium-browse
13169 chromium-browse
13175 chromium-browse
13187 chromium-browse
13195 chromium-browse
13206 chromium-browse

긴 이름을 자르므로 r누락됩니다. 그러나 Tab완료를 사용하여 프로세스 이름을 입력하면 자동으로 완료되므로 문제가되지 않습니다 .

그런 다음 다음 과 같은 SIGSTOP이름의 모든 프로세스에 신호를 보냅니다 chromium-browser.

$ killall -s STOP chromium-browser 

Chromium 창이 응답하지 않는 것처럼 회색으로 표시됩니다. 글쎄, 그것은 실제로 응답하지 않아서 예상되었습니다. 응용 프로그램 자체가 아닌 창 관리자가 처리하는 메뉴 표시 줄 및 최소화 등을 제외하고는 어떤 식 으로든 창과 상호 작용할 수 없습니다. 그러나 버튼 클릭 등의 이벤트는 여전히 생성되어 응용 프로그램의 이벤트 대기열에 추가되므로 응용 프로그램을 다시 녹일 때 한 번에 모두 처리됩니다!

SIGCONT신호를 지정된 프로세스로 보내는이 명령을 실행하여 애플리케이션을 다시 해동 할 수 있습니다.

$ killall -s CONT chromium-browser 

때때로 이런 방식으로 응용 프로그램을 중지하면 응용 프로그램이 중단 될 수 있으므로 응용 프로그램을 중지하기 전에 중요한 항목을 저장해야합니다.

드문 경우이지만 데스크탑 환경 / 창 관리자 / 다른 것들도 응답하지 않을 수 있습니다. 이 경우 고정 된 응용 프로그램을 TTY를 통해 해동해야합니다.

Ctrl+ Alt+ F1를 눌러 TTY1로 전환하십시오. 로그인하라는 메시지가 표시되므로 사용자 이름과 비밀번호를 입력하십시오. 그런 다음 명령을 실행하여 일반 터미널 에뮬레이터를 통해 실행하는 것과 같은 방식으로 응용 프로그램을 해동하십시오. 그 후 Ctrl+ Alt+를 사용하여 데스크톱 (TTY7)으로 다시 전환 F7하면 다시 괜찮습니다.


4
로 시작한 이후 pgrep계속하실 수 있습니다pkill
muru

1
응용 프로그램이 충돌 할 위험이 있지만 SIGSTOP사소한 것이라고 말하고 싶습니다. 나는 종종 Chromium에서 그것을 사용했으며 충돌의 원인이 된 것을 기억하지 못합니다.
kasperd

나는 새로운 smtg를 배웠다! killall! ;-)
Fabby

8

일시 중지하려면 다음을 시도하십시오. killall -SIGTSTP chromium-browser

그래도 문제가 해결되지 않으면 강력한 버전을 사용해보십시오 killall -SIGSTOP chromium-browser..

어느 쪽이든, 계속 사용하십시오 killall -SIGCONT chromium-browser. Firefox로 시험해 보았습니다. 그러나 Chromium에서 일시 중단 된 상태에서 버튼을 클릭하면 실행을 계속하면 해당 항목이 실행됩니다.


3
SIGSTOP / SIGCONT가 작동합니다 chromium-browser. 프로세스 이름 으로 입력 하면됩니다. +1
GreggD

1
또는 google-chromeChrome을 사용하는 경우 차이점이 혼동되기 때문에
cat

2

터미널에서 다음을 시도 할 수 있습니다.

ps aux | grep gedit

그러면 다음과 같은 것이 보일 것입니다 :

barend    7166  5.3  1.0 722620 39044 ?        Sl   16:19   0:00 gedit

숫자 7166 (또는 숫자가 무엇이든)을 적어두고 다음을 수행하십시오.

kill -STOP 7166

프로세스 실행이 일시 중단됩니다. 사용 된 메모리를 즉시 해제하지는 않지만 필요한 경우 다른 프로세스에서 메모리를 사용할 수 있습니다.

그런 다음

kill -CONT 7166 프로그램으로 다시 작업합니다.

적절한 경우 7166을 변경해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.