【问题标题】:Python OS module errorPython 操作系统模块错误
【发布时间】:2014-12-22 21:39:07
【问题描述】:

以下代码在 Python 2.7 中不起作用:

import os

def dockSuck():
    os.system("echo Switching to suck effect.")
    os.system("defaults write com.apple.dock mineffect suck")
    os.system("killall dock")

dockSuck()

它打印出Switching to suck effect.No matching processes belonging to you were found。它应该将最小化效果(在 Mac 上)切换为隐藏的吸吮效果(然后通过killalling 重置停靠栏),但它会返回错误。

【问题讨论】:

  • 只是为了确定,您可以手动输入这些命令并按预期工作?

标签: python macos operating-system subprocess


【解决方案1】:

osx 上的停靠进程名为 Dock - 注意大写。

$ ps -ef |grep dock -i
  501   359     1   0 17Oct14 ??         0:57.16 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock
  501   423     1   0 17Oct14 ??         0:03.09 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra
  501  2259   359   0 17Oct14 ??         0:37.98 /System/Library/CoreServices/Dock.app/Contents/Resources/DashboardClient.app/Contents/MacOS/DashboardClient

将你的 killall 语句修改为os.system("killall Dock")

【讨论】:

  • 并且,作为旁注,您可能想发送killall -kill Dock 只是为了确保所有进程都被杀死。
  • 啊,是的,它成功了。我会让它在几分钟内被接受。 =) 感谢您的帮助!
  • 我知道;我正要去做。对我来说,检查按钮仍然有延迟。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 2016-11-28
  • 2023-03-22
  • 2022-11-12
相关资源
最近更新 更多