有沒有辦法關閉/殺死「<應用程序>意外退出」窗口從終端或bash腳本?什麼是進程名稱?關閉「<app>意外退出」窗口從終端/ bash
(AppleScript的自動化解決方案並不acceptible。)
有沒有辦法關閉/殺死「<應用程序>意外退出」窗口從終端或bash腳本?什麼是進程名稱?關閉「<app>意外退出」窗口從終端/ bash
(AppleScript的自動化解決方案並不acceptible。)
您可以:
killall UserNotificationCenter
它會殺死UserNotificationCenter
(一個它的所有打開的窗口太多),因此,該消息消失。 (別擔心,接下來的錯誤信息會自動開始再次。)
但是,(恕我直言)它是更好的形式使用osascript
命令:
osascript -l JavaScript <<EOS
... apple-scripting using JavaScript ...
EOS
恕我直言,JavaScript是更容易(作爲一個普通的程序員)理解爲「標準」applescript
。
這個答案確實需要實際關閉所有窗口的腳本代碼。 –
我不知道,如果蘋果竟相同的核心事業,但我來自Unix世界了。例如:
例如:解決方法是通過名稱查找進程ID。我的Linux系統上,我可以使用下面找到一個進程ID ...
ps -aux
的其他變化將是頂部。都提供了大量的信息,我必須用grep來過濾代碼。 之後,我會通過cut或sed過濾字符串。 最後但並非最不重要的是殺命令。
腳本應該看起來有些像這樣...
#!/bin/sh
PNAME="< app> quit unexpectedly"
ps -aux | grep "$PNAME" | cut -d" " -f2 | kill
要hornest我絕不會用一些這樣的,而不是將執行殺手動 ..
你可以禁用它通過出現在首位:
defaults write com.apple.CrashReporter DialogType none
其他可能的值developer
†(顯示所有進程的堆棧跟蹤)和crashreport
(默認值)。
這也意味着沒有條目將被寫入Console.app。對話框本身是由UserNotificationCenter
顯示並可以被禁用(與許多其他通知一起)由:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist
一些背景:
馬赫有例外端口的概念。每個線程/進程都有一個任務,進程和一個主機異常端口,當發生異常時將對其進行檢查。 CrashReporter守護程序註冊主機異常端口,並在沒有其他信號處理程序運行時被激活。然後它會創建該進程的堆棧跟蹤和內存映射,並指示UserNotificationCenter
顯示它。默認情況下,它只對GUI應用程序這樣做。
在高塞拉利昂,我不得不使用defaults write com.apple.CrashReporter -string "developer"
多一點信息可以幫助。你的意思是應用程序正在運行,你想殺死它?如果它已經意外退出,那麼它已經不存在了,還有什麼可以殺死的?!...或者你的意思是它掛起了,即凍結,並且你想發送一個SIGKILL?! – Arash
蘋果電腦有什麼問題? (我的意思是使用'osascript -e'告訴應用程序「UserNotificationCenter」.... etc ....「)的shell腳本) – jm666