No Linux e no Mac OS X, existe um comando kill ou killall que permite que o aplicativo solicite um documento não salvo antes de sair?

1

No Linux e no Mac OS X, existe um kill ou killall command que permite que o aplicativo solicite um documento não salvo antes de sair, como pedir que o aplicativo seja encerrado ou clicar no botão "fechar" de a janela.

Por exemplo, digite somecommand TextEdit no Mac e o TextEdit perguntará se você deseja salvar o documento não salvo.

    
por 太極者無極而生 29.06.2010 / 12:06

6 respostas

4

Isso é como o programa individual responde aos sinais. Se você fizer um kill com um 15 ( SIGTERM ), um programa deve fazer a limpeza e sair. Se, o que e como são outro assunto.

    
por 29.06.2010 / 16:00
2

Para o OS-X, tente o script em Saia educadamente dos aplicativos da linha de comando do MacOSXHints. com. Você pode dizer ao aplicativo de destino se deseja ou não salvar seus arquivos abertos. Específico do OS-X - ele usa o AppleScript.

    
por 29.06.2010 / 16:41
0

Não parece, embora você possa verificar os vários sinais de eliminação disponível e experimentá-los. Eu tentei alguns, mas todos parecem apenas interromper o processo em vez de enviar um sinal de sair.

    
por 29.06.2010 / 13:58
0

Eu acho que depende da aplicação, mas matar -2, -3 ou -15 pode ser o que você está procurando ...

    
por 29.06.2010 / 17:22
0

Mac:

osascript -e 'tell app "TextEdit" to quit'

Se você precisar especificar o aplicativo como um argumento,

osascript -e 'on run args
  tell app (item 1 of args) to quit
end run' TextEdit

(Ou salve o script citado em um arquivo e osascript script appname .)

    
por 04.07.2010 / 00:44
0

Os sinais que terminam um aplicativo não devem permitir que o aplicativo entre em mais interação com o usuário. O usuário não está mais disponível (o sinal HUP , cujo significado original era que o usuário estava conectado ao computador através de um modem e o telefone morreu) ou o usuário não quer ser incomodado (o padrão TERM sinal e seus irmãos mais violentos QUIT e KILL ). Muitos aplicativos tentarão salvar o trabalho não salvo em algum lugar se receberem o sinal HUP .

Uma opção diferente para o Linux (e outros unices) é enviar uma notificação para a janela, em vez do processo: a mensagem _NET_CLOSE_WINDOW diz ao aplicativo para se livrar de uma janela específica normalmente. Você pode enviar esta mensagem a partir da linha de comando com wmctrl , por exemplo, wmctrl -c WINDOW_TITLE_SUBSTRING . Infelizmente, nem todos os aplicativos suportam isso.

    
por 08.07.2010 / 23:28