术语表/你会看到的进程

sharingd

又称:AirDrop

简要回答

sharingd是隔空投送和Mac其他共享功能背后的macOS进程。它负责查找附近的设备、收发隔空投送的传输,并处理Mac、iPhone和iPad之间连续互通的部分功能。

它以你自己的账户运行,大部分时间处于闲置状态。当访达中打开了隔空投送、附近的设备在寻找隔空投送目标,或者你的设备之间在交接工作时,它会被唤醒。

很多人是在防火墙提示中认识它的,提示询问是否允许sharingd接受传入连接:可能来自macOS自带的防火墙(未设为自动允许内建软件时),也可能来自Little Snitch或LuLu等防火墙App。这是隔空投送在请求接收文件。

sharingd为什么在占用CPU或请求连接

开着的隔空投送窗口会让它一直扫描设备。在办公室或火车上这类人多的地方,附近的许多设备会让它比平时更忙。

它由Apple签名,可以放心允许。拒绝它只会让隔空投送无法接收。

如何让它安静下来

关掉访达中的隔空投送窗口,不需要时在“控制中心”中把隔空投送设为“仅限联系人”或“接收关闭”。没有东西要发现时,sharingd就会安静下来。

如果你拒绝过它,又想恢复隔空投送,就在“系统设置”→“网络”→“防火墙”→“选项”中或在你的防火墙App中重新允许它。

如何查看sharingd在做什么

做几项检查,就能看出它是在扫描、在传输,还是卡住了。

  1. 打开活动监视器,点按“CPU”标签页,然后在搜索栏中输入sharingd。它以你自己的用户名运行。
  2. 观察“% CPU”一分钟。接近零表示闲置。如果没有打开任何隔空投送窗口,它却一直在占用,就值得仔细看看。
  3. 点按“网络”标签页。“已接收字节”或“已发送字节”很大,说明正在传输,而不只是在扫描。
  4. 在“系统设置”→“通用”→“隔空投送与连续互通”(旧版macOS中为“隔空投送与接力”)中检查你的隔空投送设置。设为“所有人”时,能发现它的设备比“仅限联系人”多。
  5. 要看它自己的消息,打开“终端”并运行log stream --predicate 'process == "sharingd"'。按下Control-C停止。

sharingd的正常占用与异常情况

正常:一天中大部分时间闲置,打开隔空投送窗口或正在传输时很忙,之后又安静下来。

值得检查:没有使用隔空投送,它却连续几小时稳定占用CPU,或者防火墙反复弹出提示。常见原因有:

  • 在某个被你忘掉的访达窗口或标签页中,隔空投送窗口一直开着。
  • 在人多的地方把隔空投送设为“所有人”,附近的许多设备让它一直在扫描。
  • 防火墙的选择没有被存储,所以每次sharingd监听时都会再次弹出提示。

隔空投送找不到另一台设备时

sharingd只能列出它看得到的设备。设备不出现的大多数情况,Apple的要求都能解释:

  • 两台设备都需要打开Wi-Fi和蓝牙。
  • 两台设备之间的距离需要在约9米(30英尺)以内。
  • 接收方的隔空投送必须设为“仅限联系人”或“所有人”,而不是“接收关闭”。
  • 设为“仅限联系人”时,发送方必须在接收方的通讯录中,且联系人卡片上有发送方Apple账户的电子邮件地址或电话号码。
  • 如果以上都没问题,仍然失败,就重新启动两台设备后再试。

常见问题

Mac上的sharingd是什么?

它是隔空投送和其他共享功能背后的macOS进程,负责查找附近的设备,并收发隔空投送的传输。

应该允许sharingd接受传入连接吗?

如果你使用隔空投送,就应该允许。它需要监听给你发送文件的设备。它是macOS的一部分,由Apple签名。

sharingd为什么在占用CPU?

通常是开着的隔空投送窗口或附近的许多设备让它一直在扫描。在访达中关闭隔空投送,或者把它设为“仅限联系人”或“接收关闭”,它就会平静下来。

为什么sharingd总是要我接受传入连接?

因为你的选择没有被存储。如果使用的是macOS自带的防火墙,在“系统设置”→“网络”→“防火墙”→“选项”中打开“自动允许内建软件接收传入连接”。如果使用防火墙App,请存储一条永久规则,而不是只允许一次。

关闭隔空投送会让sharingd停止吗?

不会。sharingd仍会为macOS的其他共享功能运行,但关闭隔空投送且没有打开相关窗口时,它没有东西要扫描,会接近闲置。

相关条目

分步指南:Mac为什么无法睡眠。

想找比活动监视器更好的工具?请看Mac上最好用的活动监视器替代品,或者浏览术语表中的所有条目。