让我们组建一支乐队,一起来超越我们的偶像吧!
用 Python 的多进程时,创建进程的方式会影响导入模块的状态。
例如,在 a.py
中有一个变量 x
:
1x = 0
我们导入这个模块,修改 x
的值,然后创建子进程:
1from multiprocessing import Process
2
3import a
4
5
6def f():
7 print(a.x)
8
9
10if __name__ == "__main__":
11 a.x = 1
12 p = Process(target=f)
13 p.start()
14 p.join()
在 Linux 下默认使用 fork
的方式,输出的结果是 1
。而 Windows 下默认方式是 spawn
,输出是 0
。
在 Linux 下,如果使用 set_start_method("spawn")
使用 spawn
方式创建子进程,输出同样是 0
。
19:50
最近写博客,发现 Alma Linux 9 源里的 pandoc 2.9.2.1 无法识别 Markdown 里以 @
开头的链接,比如这种:
1[@EE0000](https://zhaozuohong.vip)
而我本地 LMDE 6 源里 2.17.1.1 版本的 pandoc 就没有这个 bug。于是,把 CI 的容器里的 pandoc 升级了一下,改用 GitHub Release 里的最新版本。
另外发现 NexT 主题没有 emoji 的支持。虽然找到了 hexo-filter-github-emojis,但也有段时间没更新了。于是运行里面的 update-emojis.js
,更新了 emojis.json
,推到了 zhao/hexo-filter-github-emojis。安装时就直接从源码安装:
1pnpm install git+https://git.zhaozuohong.vip/zhao/hexo-filter-github-emojis
GitHub 的 emoji 可以看 ikatyang/emoji-cheat-sheet。
昨天在博客里写了个贸易计算器,不得不说,自建的博客还是舒服。表格、公式、emoji 甚至 js,想加就加,完全不受平台的约束。
趁机试了下 petite-vue。虽然只有英文的说明,但上手还是挺快的。
16:04
我在 distrobox 里装 Arch Linux,用来跑 MaaAssistantArknights 这种要求高版本 glibc 的软件。长久以来,疏于维护;上周末升级时遇到了两个问题:一是 pacman 密钥环过期了,算是意料之中,按照 Arch Wiki 中pacman/Package signing 的方案顺利解决了;二是升级之后 cage 命令用不了,一运行就报错。第二个问题没找到什么解决方法,只得放弃。
对我来说,滚动发行版,尤其是像 Arch 这样更新激进而频繁的发行版,哪怕是在容器中,维护成本也实在是太高了。思来想去,还是决定把 distrobox 里的发行版换成 Debian bookworm。一方面降低维护成本,不用频繁升级,也不用担心升级之后出问题;另一方面,等我升级到基于 Debian bookworm 的 LMDE 6 后(虽然还没发布),在容器外,就可以直接使用容器内编译的 Python 了。
08:12
好久没玩同步音律喵赛克了。
这首《独角》又好听又简单。截图是初见成绩。
19:44
更新了 Debian 11.7,顺便编译了 6.3.0-tkg-tt
内核,趁机重启。
编译很顺利,安装时遇到一个小问题,提了 Issue。
10:53