其他

Mac M1卡死假死,鼠标一直卡住转圈圈的解决方法

问题现象与解决方法


先说症状:我的是macbookpro m1,系统是Ventura 13.2.1。后面隔一阵子出现鼠标一直转圈,然后等几秒钟就好了,但是再随便点击一个地方就又开始转圈,然后mac的反应会奇慢无比。但是,背景的视频播放、声音播放、在线会议、程序进程完全没有任何问题,就给人一种电脑的交互界面假死的状态!如下图所示:

后面有一次和朋友交流的时候,发现他也有这个问题,然后他说之前经过一番查找,是因为mac自带的中文输入法的问题,每次卡住在资源管理器里强制退出就行。我当时还将信将疑,直到后面又遇到了这个问题,然后忍住转圈圈的恶心,给中文输入法强制退出了,居然问题真的立马就好了!!

解决方法


方法一:用活动监视器杀死进程【临时解决】

m1芯片的MacBook在使用过程中会出现“假死”的情况。主要表现为鼠标转圈圈,很多操作都不能实现,不能输入文本,系统ui也响应十分慢,而资源监视却看不到很高的占用。一般出现此类情况只能关机或重启。这其中的”罪魁祸首”便是系统自带的简体中文输入法。在发生卡顿后,强制关闭简体中文输入法进程,电脑瞬间就不卡了。

打开活动监视器,找到简体中文输入方式这个进程,双击,再点退出

方法二:下载安装第三方输入法,比如搜狗输入法。

方法三:使用脚本

  • 编写杀死简体中文输入法进程的命令
  • 定时执行杀死简体中文输入法进程命令

强制杀死简体中文输入法进程的命令可以写作:

kill -9 `pgrep SCIM`

其中,pgrep SCIM的作用在于寻找简体中文输入法的进程id

定时执行命令

打开crontab编辑器:

crontab -e

输入任务(每2小时执行一次):

0 */2 * * * kill -9 `pgrep SCIM`

至此,macOS 输入法卡顿问题得到解决。

usage:  crontab [-u user] file
        crontab [-u user] [ -e | -l | -r ]
                (default operation is replace, per 1003.2)
        -e      (edit user's crontab)
        -l      (list user's crontab)
        -r      (delete user's crontab)
        -i      (prompt before deleting user's crontab)
        -s      (selinux context)
#定时任务设置举例:
43 21 * * *   #21:43 执行
15 05 * * *   #05:15 执行
0 17 * * *    #17:00 执行
0 17 * * 1    #每周一的17:00 执行
0,10 17 * * 0,2,3    #每周日,周二,周三的17:00和17:10 执行
0-10 17 1 * *    #毎月1日从17:00到7:10毎隔1分钟 执行
0 0 1,15 * 1    #毎月1日和15日和一日的0:00 执行
42 4 1 * *   #毎月1日的4:42分 执行
0 21 * * 1-6   #周一到周六21:00 执行
0,10,20,30,40,50 * * * *   #每隔10分 执行
*/10 * * * *   #每隔10分 执行
* 1 * * *   #从1:0到1:59每隔1分钟 执行
0 1 * * *   #1:00 执行
0 */1 * * *   #毎时0分每隔1小时 执行
0 * * * *   #毎时0分 执行
2 8-20/3 * * *   #8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * *   #1日和15日的5:30 执行

定时任务统统由 launchctl 来管理的,看看 cron 任务有没有在里面

查看是否存在crontab服务
sudo launchctl list | grep 'cron'
 humh@MacBook-Pro ~ launchctl list | grep 'cron'
 ✘ humh@MacBook-Pro ~ sudo launchctl list | grep 'cron'
201	0	com.vix.cron

其中第一列是pid;第二列是服务状态,0代表正常;第三列是服务plist名。之所以sudo查看有,是因为crontab默认Mac系统启动服务。