터미널에서 Chrome을 종료


28

google-chrome사용하는 것 외에 터미널에서 종료 하는 방법이 killall google-chrome있습니까?
스크립트를 죽이지 않고 스크립트에서 닫을 수 있기를 원합니다.


2
킬에 어떤 문제가 있습니까?
Zoredache

1
@Zoredache 종료와는 다른 동작이 발생하고 Chrome은 여러 프로세스를 사용하며 그 중 하나 (샌드 박스)는 setuid root입니다.
Gilles 'SO- 악의를 멈춰라'

답변:


12

아마도 wmctrl도움이 될 수 있습니다. -c창을 정상적으로 닫는 옵션을 사용할 수 있습니다 .

wmctrl -c chrome

문자열 chrome은 창 제목과 일치합니다. 일부 메시지가 팝업되면 (예 : 여러 개의 탭이 열려있는 경우) 창이 닫히지 않을 수 있습니다.


1
이 옵션은 완벽하게 작동하지만 설치가 필요합니다 wmctrl.
slybloty

wmctrl이 시스템 트레이 "Chrome Apps"를 닫을 수 없습니다. pkill -o chrome그래도.
Ken Sharp

26

이 명령은 모든 창 관리자에서 크롬 프로세스 트리를 정상적으로 종료합니다.

pkill --oldest chrome

또는 원하는 경우 :

/usr/bin/pkill --oldest --signal TERM -f chrome    

세부:

  • "Chrome이 올바르게 종료되지 않았습니다. 다음에 크롬을 시작하면
  • 크롬 브라우저 (예 : 버전 39.0.2171.95) 트랩 및 정상적으로 처리 SIGTERM
  • 크롬 프로세스 트리의 루트 인 단일 프로세스 신호 --oldest
  • SIGTERM신호와 동일한 15, 따라서 --signal TERM이후, 또는 그냥 떠날 SIGTERM기본 신호가
  • wmctrl Unity 및 다른 일부에서는 작동하지만 모든 창 관리자에서는 작동하지 않습니다
  • wmctrl -c 한 번에 하나의 창을 닫아서 필요한 모든 크롬 창을 닫습니다. while wmctrl -c 'Google Chrome'; do sleep 0.2; done

1
--oldest옵션이 아닌 이전 버전의 pkill을 사용한다고 가정 -o합니다.
Ken Sharp

-fpkill에 대한 주장은 나를 위해 작동하지 않습니다. 명령 줄에 chrome이라는 단어가있는 루트로 실행되는 다른 프로세스가 있으므로 권한이 거부됩니다. 이 없으면 -f완벽하게 작동합니다.
Brian Minton

그래도 여전히 '정말로 종료되지 않았습니다'
xtrinch가

Ubuntu 18.04에서 다시 시작 또는 종료를 트리거 한 직후에 이것을 어떻게 실행할 수 있습니까?
Jaime Hablutzel

1

이것은 나를 위해 작동합니다 :

killall --quiet --signal 15 -- chrome

코드에서 읽을 수 있도록 다소 장황한 명령을 사용하고 있습니다. 물론 다음을 실행할 수도 있습니다.

killall -q -15 chrome

1

Mac OS X대신 이것을 사용하십시오

pkill -a -i "Google Chrome"

그것이하는 일은 Chrome 프로세스를 찾고 부모 프로세스를 모두 종료하는 것입니다.

pkill 매뉴얼에서

    -a          Include process ancestors in the match list.  By default, the
                current pgrep or pkill process and all of its ancestors are
                excluded (unless -v is used).
    -i          Ignore case distinctions in both the process table and the
                supplied pattern.

@ keith-cascio의 답변 에 따라 가장 오래된 프로세스를 대신 죽일 수 있습니다. 이것은 나를 위해 작동하지 않았습니다.

pkill -o -i "Google Chrome"

0

시험:

kill -3 <pid_of_chrome>

이렇게하면 "QUIT"신호가 크롬으로 전송됩니다.이 정보는 창 관리자에 따라 닫히도록 요청 될 때 일반적으로 전송되는 신호입니다.


2
이는 Chrome에서 충돌로보고 복원을 요청하는 것과 똑같이 kill또는 killall어디서나 작동 합니다.
slybloty

1
3 대신 15 대를 시도한 다음
Blackle Mori

6
실제로 SIGQUIT닫으라는 요청을받을 때 일반적으로 응용 프로그램으로 전송되지 않습니다 (이 작업을 수행하는 WM을 모릅니다). WM_DELETE_WINDOW표준입니다.
Chris Down

2
@ blacklemon67 kill -15 <pid_of_chrome>는 내가 찾고있는 것을했습니다. 그러나 google-chrome여러 개의 pid가 있으며 실제로 올바른 pid를 얻으려면 몇 가지 시도가 필요했습니다.
교활한
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.