명령을 통해 어떻게 pidgin을 닫을 수 있습니까?


0

문제는 https://developer.pidgin.im/ticket/9698 에서 설명되었습니다 .

리눅스에서, 나는 할 수 요청 을 통해 닫습니다 피진 pkill pidgin또는 kill [pid]. 그러면 프로그램이이를 처리하고 종료됩니다. Windows는 이런 식으로 작동하지 않습니다. WM_CLOSE신호는 (당신이 명중 할 때처럼이 아닌 과정을 창을 닫습니다 x자신을).

명령을 통해 pidgin을 닫으려면 어떻게해야합니까?

동기 부여 : 많은 XMPP 서버가 오프라인 상태임을 깨닫기 위해 클라이언트가 "안녕히"라고 말해야하는 것 같습니다. 다시 말해, keep-alive필요한 패킷이 없거나 시간 초과가없는 경우 (그리고 상당히 지연된 경우)입니다. 일반적으로, 우리는 그에 따라 클라이언트를 시작하고 종료하기 때문에 큰 문제는 없습니다 (종료를 종료로 간주). 그러나 suspend/ hibernate모드 로 들어가면 네트워크 연결이 갑자기 사라진 것처럼 pidgin이 "저기서 오프라인으로 가십시오"라고 말할 기회가 없습니다. 그래서, 나는 자동으로 스크립트 가까운 피진 필요가 정상적으로 (일시 중단하기 전에 직접 실행되는)를.

답변:


0

다음은 사용자 단계를 에뮬레이트하는 AutoHotkey 스크립트입니다.

  • 아직 열지 않은 경우 기본 창 열기
  • 보내기 Ctrl- Q그것 때문에 피진가 종료에

.

pidginMainWindowTitle := "Buddy List"

process, exist, pidgin.exe
if(ErrorLevel!=0) {
    ; Pidgin process is running -> close it
    if(!winExist(pidginMainWindowTitle)) {
        ; ..but main window is not.
        ; determine full pidgin path
        winGet, pidginPath, ProcessPath, ahk_exe pidgin.exe
        if(pidginPath=="") {
            msgbox, Process path empty?
            exitapp
        }
        ; run pidgin again: will open main window
        run %pidginProcessPath%
        ; wait for the window max. 2 seconds
        winWait, %pidginMainWindowTitle%,, 2
        if(ErrorLevel==1) {
            msgbox, Couldn't start main window
            exitapp
        }
        ; send exit key combo to pidgin main window
        controlSend,, ^q, %pidginMainWindowTitle%
        ; wait for the process to close max. 2 seconds
        process, WaitClose, pidgin.exe, 2
        if(ErrorLevel) {
            msgbox, Couldn't exit pidgin gracefully
            exitapp
        }
    }
}

0

원하는 유틸리티 taskkill.exe는 Windows OS에 내장 된 명령 줄 프로그램이며 ( kill유닉스 계열 시스템 과 거의 유사 ) 시스템 디렉토리 (C : \ Windows \ System32 \ taskkill.exe)에 있습니다. 기본적으로 프로그램을 종료하도록 요청하지만 강제로 실행하지는 않으며 창 메시지를 사용하지 않습니다.

사용법 정보 taskkill /?는 명령 행 쉘 ( cmd또는 powershell) 에서 실행 하지만 원하는 기본 명령은 다음과 같습니다 taskkill /im pidgin.exe(확장 프로그램을 종료하려면 프로그램의 이미지 이름이 필요합니다). 정리를 수행 할 시간을주지 않고 프로그램을 강제로 종료하기 때문에 플래그를 여기에 전달 하지 마십시오. 마감 요청)./fkill -9

로그 오프시 자동으로 실행되도록하는 것은 까다로울 수 있습니다. 작업 스케줄러 사용을 고려하십시오.

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