터미널을 통해 GUI 응용 프로그램을 소프트 킬하는 방법은 무엇입니까?

터미널을 통해 GUI 응용 프로그램을 소프트 킬하는 방법은 무엇입니까?

친숙한 방법으로 GUI 응용 프로그램을 닫는 방법이 있습니까?"이제 그만둬주세요"그래서 응용 프로그램 창에 대한 그래픽 액세스가 필요하지 않습니까?

예를 들어, Gnome/X 디스플레이가 검은색으로 충돌하면 tty2로 전환하고 Firefox와 같은 응용 프로그램을 닫아 구성 등을 저장할 수 있도록 하고 싶습니다. 기껏해야 추가 사용자 쿼리가 필요하지 않습니다.

답변1

일반적으로 SIGHUP을 사용하여 "친숙한"(그래픽 인터페이스 유무에 관계없이) 애플리케이션을 종료할 수 있습니다.

kill -HUP <application_pid>

편집하다: 몇 가지 추가 정보를 추가했습니다.

SIGHUP 처리 방법은 애플리케이션에 따라 다르므로데이브이 신호는 차단되거나 처리될 수 있다는 점에 유의하세요. 하지만 꽤 완벽하다인터렉티브애플리케이션은 SIGHUP을 통해 정상적으로 종료됩니다.

반면에 나는 대개 다음과 같은 패턴을 따른다는 것을 인정해야 합니다.

kill -HUP <application_pid>
# check if application is still running
kill -INT <application_pid>
# check if application is still running
kill -KILL <application_pid>

분명히 마지막 명령은 그다지 "친숙하지" 않습니다.

답변2

다음을 시도해 볼 수도 있습니다.

kill -TERM <pid>

또는

kill -TERM `pidof <application_name>`

적어도 일부 시스템에서는 시스템이 종료되면 모든 프로세스가 KILL(9) 신호를 보내기 전에 TERM(15) 신호를 보냅니다. HUP는 일반적으로 애플리케이션이 해당 구성을 다시 로드하도록 하지만 프로세스마다 다를 수 있습니다.

답변3

애플리케이션을 종료하고 해당 구성을 저장하도록 지시하는 보편적인 방법은 없습니다. dcop kfoo MainApplication-Interface quit일부 KDE 3 응용 프로그램과 같이 특정 프레임워크를 사용하는 응용 프로그램에 이를 알리는 방법은 여러 가지가 있을 수 있습니다 . 응용 프로그램에서 확인을 요청하는 대화 상자가 표시될 수 있습니다.

X 디스플레이를 사용할 수 없게 되면 X 서버를 종료하십시오. Ctrl++를 누르십시오 . 이것이 작동하지 않으면 X 서버 Alt프로세스를 종료하십시오 . X 서버가 중단되면 모든 X 응용 프로그램이 알림을 받고 정상적으로 종료하려고 시도합니다(모든 것이 저장된다는 보장은 없지만 이것이 최선의 선택입니다).BackSpacesudo pkill -x Xorg

답변4

고려해야 할 다른 두 가지 명령은 wmctrl -c및 입니다 xdotool windowkill. 그게 당신이 추구하는 것인지 잘 모르겠습니다 windowkill. 그렇지 않다면 관심을 가질 수도 있습니다.windowdelete수리하다.

관련 정보