如何从终端关闭打开的(20 多个)通知窗口或禁用 HP 警报?

如何从终端关闭打开的(20 多个)通知窗口或禁用 HP 警报?

出于某种奇怪的原因,一款名为“HP Alerts”的应用程序一夜之间就在我的屏幕上充满了通知窗口,告诉我我的一个喷墨墨盒墨水不足。我现在已经禁用了这些通知,但想知道是否有办法用终端命令关闭所有这些通知窗口?

编辑:我最终通过创建 Automator 操作(循环 100 次)摆脱了这些窗口,该操作会不断关闭“HP Alerts”窗口,直到没有剩余窗口。我仍然很好奇是否可以在不使用“终端”循环的情况下完成此操作。

答案1

多年来,我使用 HP 打印机驱动程序的体验一直不太好,因此虽然我对此并不感到惊讶,但我不使用他们的产品驱动程序。话虽如此,您可能可以使用ps来获取应用程序的 PID,使用awkcut获取 PID,然后获取killPID。以下是使用 Safari 的示例。

首先获取 Safari 的 PID。第二个 grepgrep Safari从结果中排除

$ ps -ef|grep Safari|grep -v grep
200000000   269     1   0  9:45AM ??         0:18.99 /Applications/Safari.app/Contents/MacOS/Safari -psn_0_61455
200000000   560     1   0  9:46AM ??         0:00.13 /usr/libexec/SafariNotificationAgent
200000000   602     1   0  9:46AM ??         0:00.32 /System/Library/PrivateFrameworks/Safari.framework/Versions/A/XPCServices/com.apple.Safari.SearchHelper.xpc/Contents/MacOS/com.apple.Safari.SearchHelper

列包括ps -efUID、PID、PPID、C、STIME、TTY、TIME 和 CMD。我们感兴趣的是第二列,因此

$ ps -ef|grep Safari|grep -v grep|awk '{print $2}'
269
560
602

从这里,您可以使用xargs将此信息传递给。请注意,这仅在您拥有该流程并且它们无需任何其他选项kill即可响应终止时才有效。kill

$ ps -ef|grep Safari|grep -v grep|awk '{print $2}'|xargs kill
$ $ ps -ef|grep Safari|grep -v grep
-bash: $: command not found

第二条命令返回的错误消息表明 Safari 没有可见的具有该名称的 PID。

相关内容