[js] 当文档一打开就卡死时该怎么办?

你有没有这样的场景,当你不小心写了一个非常占用资源的 SQL 查询或者当你复制了某位大神写的死循环的代码,这时你的文档突然卡死,CPU 也飙到 100%。

但,不幸的时,由于思源会记住上次打开的文档,这时,哪怕你强制关闭思源,那么再次重启思源,这个文档依然会被首先打开,思源依然会卡死。

当出现这种情况该怎么办呢?

请看下文。

准备工具:

思源 vscode 插件,浏览器

操作步骤:

第一步,任务管理器强制退出思源,但不要退出内核

image.png

注意: 正常情况下,你退出 SiYuan 进程,随后 SiYuan-Kernel 进程也会退出了,但卡死情况不会。

如果不小心把内核进程也关了怎么办?

别担心,可以用下面的命令打开。

windows:

`C:\Users\Administrator\AppData\Local\Programs\SiYuan\resources\kernel\SiYuan-Kernel.exe --port 6806 --wd C:\Users\Administrator\AppData\Local\Programs\SiYuan\resources --workspace C:\siyuan`

命令具体内容请根据自己实际情况修改。

mac:

/Applications/SiYuan.app/Contents/Resources/kernel/SiYuan-Kernel --port 6806 --wd /Applications/SiYuan.app/Contents/Resources --workspace "/Users/yourname/_data/思源笔记"

命令具体内容请根据自己实际情况修改。

第二步,打开思源工作空间,随便复制个文档 id,但不要是出问题的文档

第三步,打开浏览器输入 http://127.0.0.1:6806/?id=刚才你复制的文档id,这时就打开了你指定 id 的文档了,不会打开原来的文档了

第四步,在目录找到刚才出问题的文档,然后右键插件-> 集成编辑环境->markdown-> 在新标签中打开,然后修改有问题的代码即可。

image.png

注意,第四步找到文档后,千万不要直接打开文档,打开后又会被卡死了。

这第四步也可以在文档树目录中右键文档,然后查看历史,在历史中恢复上一个版本即可。

更进一步

鉴于你可能不知道文档具体在哪个文件夹中,建议你先安装下面这个 js 代码片段,然后就可以通过全局搜索来查找文档,注意,查找后千万不要点击文档,一旦打开就又卡死了,你只需要向下翻滚即可,找到想要的文档后,使用中键点击,即可在文档树中定位该文档了。

但这个查询很可能是精确匹配,在搜索预览时卡死,如果确定会精确匹配的,也可以用 query 挂件用 SQL 查询。

js 代码片段如下

// 搜索列表,鼠标中键在文档树中定位文档,不会打开文档 (()=>{ document.addEventListener('mousedown', async function(event) { // 检查是否按下了鼠标中键 const isModifierKeyPressed = event.button === 1 && !event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey; if (isModifierKeyPressed) { const item = event.target.closest('[data-type="search-item"]'); if(!item) return; const docId = item?.dataset?.rootId; if(!docId) return; const docInfo = await requestApi('/api/filetree/getDoc', {id: docId}); if(!docInfo?.data?.path || !docInfo?.data?.box) return; (siyuan?.mobile?.docks?.file||siyuan?.mobile?.files||siyuan.layout.leftDock.data.file).selectItem(docInfo.data.box, docInfo.data.path); const closeBtn = item.closest('.b3-dialog__container')?.querySelector('.b3-dialog__close'); if(!closeBtn) return; closeBtn.dispatchEvent(new MouseEvent('click', { bubbles: true })); } },true); async function requestApi(url, data, method = 'POST') { return await (await fetch(url, {method: method, body: JSON.stringify(data||{})})).json(); } })();

代码备份地址

https://gitee.com/wish163/mysoft/blob/main/%E6%80%9D%E6%BA%90/%E6%90%9C%E7%B4%A2%E5%88%97%E8%A1%A8%E9%BC%A0%E6%A0%87%E4%B8%AD%E9%94%AE%E5%9C%A8%E6%96%87%E6%A1%A3%E6%A0%91%E4%B8%AD%E5%AE%9A%E4%BD%8D%E6%96%87%E6%A1%A3.js

开发者方法

如果你是开发者,还可以在数据库里搜索相关的块信息,然后查到相关的文档 id,根据文档 id 的 sy 文件进行清除(不推荐,我没试过,理论上应该可以)。

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25978 引用 • 107731 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    180 引用 • 1275 回帖
4 操作
JeffreyChen 在 2025-06-03 15:09:57 更新了该帖
wilsons 在 2025-04-24 13:46:51 更新了该帖
wilsons 在 2025-04-20 17:10:30 更新了该帖
wilsons 在 2025-04-20 16:58:16 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
wilsons
正在努力开发 wilsons 工具箱中 🛠️ 目前已正式入驻爱发电啦!💖 想催更、提需求?欢迎访问 👉 https://afdian.com/a/wilsons

推荐标签 标签

  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 1 关注
  • OneDrive
    2 引用 • 3 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    589 引用 • 3528 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 830 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    108 引用 • 153 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖 • 1 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 653 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    326 引用 • 1395 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • danl
    173 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 251 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    22 引用 • 148 回帖 • 6 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 642 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 737 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    246 引用 • 1338 回帖 • 2 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 3 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    180 引用 • 3878 回帖 • 1 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 119 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 73 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 177 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 395 关注