Skip to content

Commit 0345984

Browse files
committed
update: add backuped links
1 parent d486349 commit 0345984

24 files changed

+168
-71
lines changed

README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Home
33
nav_order: 1
44
---
55

6+
67
# 今天我学了什么 (Today I Learned)
78

89
> 博观而约取,厚积而薄发。
@@ -30,11 +31,12 @@ https://til.adoyle.me
3031
- 指向 Github Issue/Disussion/PR/Code 的都用原链接。
3132
- RFC 文档都使用 https://www.rfc-editor.org 的链接。
3233

34+
3335
## 反馈问题或建议
3436

3537
本项目不接受 Pull Request。如果你有什么好的想法,或者改进的建议,请使用 [Discussions](https://github.com/adoyle-h/Today-I-Learned/discussions) 与我探讨。
3638

37-
**建议 Watch 且 Star 本项目。但不要 Fork,这没有意义。**
39+
**建议 Star 本项目。不要 Fork,这没有意义。Watch 似乎没用,基本不会触发通知**
3840

3941

4042
## 版权声明
@@ -46,6 +48,7 @@ Read the [LICENSE](./LICENSE) file for the specific language governing permissio
4648

4749
Read the [NOTICE](./NOTICE) file distributed with this work for additional information regarding copyright ownership.
4850

51+
4952
## TOC
5053

5154
<!-- toc -->
@@ -538,6 +541,7 @@ Read the [NOTICE](./NOTICE) file distributed with this work for additional infor
538541
数学,不仅仅是算法
539542

540543
- [豪斯多夫维数](math/hausdorff-besicovitch-dimension.md)
544+
- [进制表示法](math/positional-notation.md)
541545
- [空间填充曲线 (Space-Filling Curve)](math/space-filling-curve.md)
542546

543547
[`⬆ 返回目录`](#toc)
@@ -618,6 +622,7 @@ Read the [NOTICE](./NOTICE) file distributed with this work for additional infor
618622
- [Alfred Workflow debug 技巧](others/alfred-workflow-debug.md)
619623
- [Github Markdown 中的锚点引用](others/anchor-in-github-markdown.md)
620624
- [永久链接](others/archive-webpage.md)
625+
- [ASCII 与 ANSI](others/ascii-and-ansi.md)
621626
- [脱字符 (caret)](others/caret.md)
622627
- [Chrome 小技巧](others/chrome-tricks.md)
623628
- [复制粘贴好过手写](others/copy-paste-better-than-handwriting.md)
@@ -640,6 +645,7 @@ Read the [NOTICE](./NOTICE) file distributed with this work for additional infor
640645
- [Language Server Protocol](others/language-server-protocol.md)
641646
- [Makefile](others/makefile.md)
642647
- [箴言](others/maxim.md)
648+
- [修改进程的内存数据](others/memory-cheat.md)
643649
- [元语法 (Metasyntax)](others/metasyntax.md)
644650
- [乱码问题](others/mojibake.md)
645651
- [终端邮件客户端 Mutt](others/mutt.md)
@@ -650,7 +656,6 @@ Read the [NOTICE](./NOTICE) file distributed with this work for additional infor
650656
- [如何打开超大文件](others/open-huge-file-with-editor.md)
651657
- [Protocol Buffers](others/protocal-buffers.md)
652658
- [正则表达式的小技巧](others/regexp-tricks.md)
653-
- [在中国注册 Google 账号](others/register-google-account-in-china.md)
654659
- [在 Github Markdown 中如何填写图片的链接](others/relative-link-in-github-markdown.md)
655660
- [Markdown 里写反引号](others/reverse-quote-in-markdown.md)
656661
- [rsync](others/rsync.md)

computer/RDMA.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ RDMA 的三种硬件实现
66
- RoCE: RDMA over Ethernet
77
- iWARP: RDMA over TCP
88

9-
- [RDMA技术简介](https://www.jianshu.com/p/329427415f36)
10-
- [RDMA技术详解(一):RDMA概述](https://zhuanlan.zhihu.com/p/55142557)
11-
- [来点硬核的:什么是RDMA?](https://cloud.tencent.com/developer/article/1420687)
9+
- [RDMA技术简介](https://www.jianshu.com/p/329427415f36) ([链接备份](https://web.archive.org/web/20230301065301/https://www.jianshu.com/p/329427415f36))
10+
- [RDMA技术详解(一):RDMA概述](https://zhuanlan.zhihu.com/p/55142557) ([链接备份](https://archive.md/XLCxa))
11+
- [来点硬核的:什么是RDMA?](https://cloud.tencent.com/developer/article/1420687) ([链接备份](https://web.archive.org/web/20220215165900/https://cloud.tencent.com/developer/article/1420687))

computer/cpu-cache-line-false-sharing.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ Go 提供了 [`CacheLinePad`](https://pkg.go.dev/golang.org/x/sys/cpu#CacheLineP
1515

1616
### 参考资料
1717

18-
- [杂谈 什么是伪共享(false sharing)?](https://zhuanlan.zhihu.com/p/65394173)
19-
- [Cache False Sharing Debug][1]
18+
- [杂谈 什么是伪共享(false sharing)?](https://zhuanlan.zhihu.com/p/65394173) ([链接备份](https://web.archive.org/web/20210814041728/https://zhuanlan.zhihu.com/p/65394173))
19+
- [Cache False Sharing Debug][1] ([链接备份](https://web.archive.org/web/20220605234229/http://oliveryang.net/2018/01/cache-false-sharing-debug/))
2020

2121

2222
[1]: http://oliveryang.net/2018/01/cache-false-sharing-debug/

computer/cpu-cache.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ MESI 协议:
9292
- 独占(Exclusive)缓存段,和 S 状态一样,也是和主内存内容保持一致的一份拷贝。区别在于,如果一个处理器持有了某个 E 状态的缓存段,那其他处理器就不能同时持有它,所以叫“独占”。这意味着,如果其他处理器原本也持有同一缓存段,那么它会马上变成“失效”状态。
9393
- 已修改(Modified)缓存段,属于脏段,它们已经被所属的处理器修改了。如果一个段处于已修改状态,那么它在其他处理器缓存中的拷贝马上会变成失效状态,这个规律和 E 状态一样。此外,已修改缓存段如果被丢弃或标记为失效,那么先要把它的内容回写到内存中——这和回写模式下常规的脏段处理方式一样。
9494

95-
- [cache之多核一致性(一) - 总线上没有秘密](https://zhuanlan.zhihu.com/p/94811032)
95+
- [cache之多核一致性(一) - 总线上没有秘密](https://zhuanlan.zhihu.com/p/94811032) ([链接备份](https://web.archive.org/web/20210926113028/https://zhuanlan.zhihu.com/p/94811032))
9696

9797
#### Cache Line False Sharing
9898

@@ -101,5 +101,5 @@ Cache Coherence 还会引起 [Cache Line False Sharing 问题](./cpu-cache-line-
101101
### 参考资料
102102

103103
- [Wikipedia - CPU缓存](https://www.wikiwand.com/zh-hans/CPU%E7%BC%93%E5%AD%98)
104-
- [Cache是怎么组织和工作的](https://zhuanlan.zhihu.com/p/31859105)
104+
- [Cache 是怎么组织和工作的](https://zhuanlan.zhihu.com/p/31859105) ([链接备份](https://web.archive.org/web/20200921100404/https://zhuanlan.zhihu.com/p/31859105))
105105
- [Wikipedia - Cache inclusion policy](https://www.wikiwand.com/en/Cache_inclusion_policy)

computer/memory-barrier.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
内存屏障是硬件的概念,硬件层的内存屏障分为两种:读屏障 (Load Barrier) 和写屏障 (Store Barrier)。
44

55

6-
76
相关资料
87

9-
- [谈乱序执行和内存屏障](https://blog.csdn.net/dd864140130/article/details/56494925)
10-
- [深入内核架构--内存屏障](https://studygolang.com/articles/24734?fr=sidebar)
11-
- [Rinoux - 内存屏障](https://www.jianshu.com/p/2ab5e3d7e510)
12-
- [为什么我们需要内存屏障?](https://zhuanlan.zhihu.com/p/33626920)
8+
- [谈乱序执行和内存屏障](https://blog.csdn.net/dd864140130/article/details/56494925) ([链接备份](https://web.archive.org/web/20220323074833/https://blog.csdn.net/dd864140130/article/details/56494925))
9+
- [深入内核架构--内存屏障](https://studygolang.com/articles/24734) ([链接备份](https://web.archive.org/web/20230301081145/https://studygolang.com/articles/24734))
10+
- [Rinoux - 内存屏障](https://www.jianshu.com/p/2ab5e3d7e510) ([链接备份](https://web.archive.org/web/20221209230321/https://www.jianshu.com/p/2ab5e3d7e510))
11+
- [为什么我们需要内存屏障?](https://zhuanlan.zhihu.com/p/33626920) ([链接备份](https://web.archive.org/web/20201204110741/https://zhuanlan.zhihu.com/p/33626920))

design/8-point-grid.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
## 8 点栅格
22

3-
- http://spec.fm/specifics/8-pt-grid
4-
- https://zhuanlan.zhihu.com/p/26928282
3+
- [The 8-Point Grid](http://spec.fm/specifics/8-pt-grid) ([链接备份](https://web.archive.org/web/20230130173432/https://spec.fm/specifics/8-pt-grid))
4+
- [基于8点网格的响应式网站设计](https://zhuanlan.zhihu.com/p/26928282) ([链接备份](https://archive.ph/QDB0I))

design/color-space.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,19 @@
9292

9393
## 色彩空间转换
9494

95-
[色彩空间表示与转换](https://zhuanlan.zhihu.com/p/24281841)(如果链接挂了,这有[永久链接](https://archive.md/JqdJQ)这篇文章介绍了相同色彩模式下的不同色彩空间,是如何进行坐标转换的。
95+
[色彩空间表示与转换](https://zhuanlan.zhihu.com/p/24281841)([链接备份](https://archive.md/JqdJQ)) 这篇文章介绍了相同色彩模式下的不同色彩空间,是如何进行坐标转换的。
9696

9797
不同色彩模式下的不同色彩空间,也可以通过转到 `CIE L*a*b*` 再转成其他色彩空间坐标来转换。
9898

9999
![icc-workflow](https://image.benq.com/is/image/benqco/icc-workflow-2)
100+
([链接备份](https://web.archive.org/web/20230301084526/https://image.benq.com/is/image/benqco/icc-workflow-2))
100101

101102
## 色彩管理
102103

103104
如何让不同的显示设备(如扫描仪、数码相机、显示器、打印机等)能保持相对统一的色彩表现效果。要点在于色彩管理。
104105

105106
![色彩管理流程](https://docs.krita.org/zh_CN/_images/Krita-colormanaged-workflow_webcomic.svg)
107+
([链接备份](https://web.archive.org/web/20200717172532/https://docs.krita.org/zh_CN/_images/Krita-colormanaged-workflow_webcomic.svg))
106108

107109
分两个层面:硬件和软件。
108110

@@ -132,7 +134,7 @@ ICC 色彩特性文件 (ICC Profile) 是一组用来描述色彩输入、输出
132134

133135
[测试浏览器是否支持 ICC 色彩管理](https://www.colortell.com/344.html)
134136

135-
[Why use ICC v4 profiles?](https://www.color.org/whyusev4.xalter)
137+
[Why use ICC v4 profiles?](https://www.color.org/whyusev4.xalter) ([链接备份](https://web.archive.org/web/20221022085649/https://color.org/whyusev4.xalter))
136138

137139
## 各类文件如何存储色彩空间
138140

@@ -208,5 +210,5 @@ Sketch 不支持 CMYK,所以不能用于设计印刷品。
208210

209211
## 参考文章
210212

211-
- [色彩空间基础](https://zhuanlan.zhihu.com/p/24214731)
212-
- [JIMMY CHEUNG - 色彩管理](https://www.zhangxiaochun.com/color-space-3/):这篇文章记录了如何选择合适的色彩空间
213+
- [色彩空间基础](https://zhuanlan.zhihu.com/p/24214731) ([链接备份](https://archive.md/lzuhw))
214+
- [JIMMY CHEUNG - 色彩管理](https://www.zhangxiaochun.com/color-space-3/) ([链接备份](https://web.archive.org/web/20220927133331/https://www.zhangxiaochun.com/color-space-3/)):这篇文章记录了如何选择合适的色彩空间

fp/redirect-location-is-async.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22

33
发现 window.location.href = url,不会立即跳转,而是会把剩下的 js 代码都加载完后才跳转页面。interesting
44

5-
[window.location.href跳转页面详细过程是怎么样的?](https://www.zhihu.com/question/29890952/answer/207444783)
5+
> 因为 LocationChange 行为在浏览器内核中是起定时器异步执行的,代码可以参见 Chromium 源码 NavigationScheduler::ScheduleFrameNavigation。
6+
> 异步执行的好处是为了防止代码调用过深,导致栈溢出,另外也是为了防止递归进入加载逻辑,导致状态紊乱,保证导航请求是顺序执行的。
7+
> [window.location.href跳转页面详细过程是怎么样的?](https://www.zhihu.com/question/29890952/answer/207444783)

go/gorutine.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
Gorutine 是 Go 语言实现的一种协程 (Coroutine)。它完全运行在用户态进程下进行并发调度。
44

5-
- [Golang:线程 和 协程 的区别](https://juejin.im/post/6844903958008348686)
6-
- [Golang 的 协程调度机制 与 GOMAXPROCS 性能调优](https://juejin.im/post/6844903662553137165)
7-
- [Golang和Erlang的并发调度浅析](https://studygolang.com/articles/18968)
5+
- [Golang:线程 和 协程 的区别](https://juejin.im/post/6844903958008348686) ([链接备份](https://web.archive.org/web/20221208133436/https://juejin.cn/post/6844903958008348686))
6+
- [Golang 的 协程调度机制 与 GOMAXPROCS 性能调优](https://juejin.im/post/6844903662553137165) ([链接备份](https://web.archive.org/web/20220811233411/https://juejin.cn/post/6844903662553137165))
7+
- [Golang和Erlang的并发调度浅析](https://studygolang.com/articles/18968) ([链接备份](https://web.archive.org/web/20230225182702/https://studygolang.com/articles/18968))
88

99
### GMP 模型与调度器
1010

11-
- [Golang调度器GMP原理与调度全分析](https://zhuanlan.zhihu.com/p/112508755)
12-
- [Go语言学习 - GMP模型](https://juejin.im/post/6844904034449489933)
13-
- [图解Go运行时调度器](https://tonybai.com/2020/03/21/illustrated-tales-of-go-runtime-scheduler/)
11+
- [Golang 调度器 GMP 原理与调度全分析](https://learnku.com/articles/41728) ([链接备份](https://web.archive.org/web/20230301090416/https://learnku.com/articles/41728))
12+
- [Go语言学习 - GMP模型](https://juejin.im/post/6844904034449489933) ([链接备份](https://web.archive.org/web/20221031233444/https://juejin.cn/post/6844904034449489933))
13+
- [图解Go运行时调度器](https://tonybai.com/2020/03/21/illustrated-tales-of-go-runtime-scheduler/) ([链接备份](https://tonybai.com/2020/03/21/illustrated-tales-of-go-runtime-scheduler/))
1414

1515
### 调度器跟踪
1616

javascript/fiber-in-js.md

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
## JS 的 fiber 技术
2-
3-
- [知乎 - 如何评价node-fibers?](https://www.zhihu.com/question/59441623)
1+
# JS 的 fiber 技术
42

53
可以看看贺师俊和响马的评价,很有启发。
64

7-
- [Why coroutines won’t work on the web](http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/)
8-
9-
这篇文章讲述了为什么 Coroutines 入不了 JS 标准。
5+
- [如何评价node-fibers? 贺师俊的回答](https://www.zhihu.com/question/59441623/answer/168675034) ([链接备份](https://archive.is/WikMU))
6+
- [如何评价node-fibers? 响马的回答](https://www.zhihu.com/question/59441623/answer/175420027) ([链接备份](https://archive.md/NlAyE))
107

8+
- [Why coroutines won’t work on the web](http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/): 这篇文章讲述了为什么 Coroutines 入不了 JS 标准。 ([链接备份](https://web.archive.org/web/20221215105323/http://calculist.org/blog/2011/12/14/why-coroutines-wont-work-on-the-web/))
119

12-
### 我的观点
10+
## 我的观点
1311

14-
#### 修改调用链
12+
### 修改调用链
1513

1614
> 比如一段代码,其中一个底层实现,现在是同步的,于是中间某层某个逻辑没有加锁,有一天这个底层实现改成 await 了,一路改上来就不说了,鬼才记得中间哪一层在猴年马月苦思冥想后决定不加锁了。
1715

language/coroutine.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
随着时间,技术的概念可能产生了变化。协程与纤程的区别可能不需要详细区分,还得看主流的实现是怎样的。
2525

2626
- https://stackoverflow.com/a/44563119/4622308
27-
- https://www.zhihu.com/question/23955356/answer/732629313
27+
- [协程和纤程的区别是什么?tearshark 的回答](https://www.zhihu.com/question/23955356/answer/732629313) ([链接备份](https://archive.md/hqFi9))
2828

2929
## 有栈协程与无栈协程
3030

linux/command-be-hashed.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,6 @@ xxx 已被录入哈希表 (/usr/local/bin/xxx)
1111
那么当你再次执行 `xxx` 会找不到对应程序,因为 hash 缓存的路径还是在 `/usr/local/bin/xxx`
1212
你需要清空缓存,执行 `hash -d xxx` 即可。
1313

14-
参考: https://www.zhihu.com/question/34609277/answer/59455055
14+
参考:
15+
16+
- [Linux上的各种命令本质上都是小程序吗?](https://www.zhihu.com/question/34609277/answer/59455055) ([链接备份](https://archive.md/3inuw))

linux/context-switch.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,5 @@
4343

4444
### 相关资料
4545

46-
- [Context Switch Definition](http://www.linfo.org/context_switch.html)
47-
- [进程/线程上下文切换会用掉你多少CPU?](https://zhuanlan.zhihu.com/p/79772089)
46+
- [Context Switch Definition](http://www.linfo.org/context_switch.html) ([链接备份](https://web.archive.org/web/20230115003331/http://www.linfo.org/context_switch.html))
47+
- [进程/线程上下文切换会用掉你多少CPU?](https://zhuanlan.zhihu.com/p/79772089) ([链接备份](https://archive.md/uGxnO))

linux/ntp.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ MacOS 使用自己的 timed 程序和 DAS 系统来代替 NTP 实现时间同步
2828

2929
### 参考资料
3030

31-
- [比较 ntpd、ntpdate、Chrony](https://zhuanlan.zhihu.com/p/44022718)
32-
- [如何在 Linux 下确认 NTP 是否同步?](https://linux.cn/article-10951-1.html)
33-
- [ntpd 与 ntpdate](https://escapelife.github.io/posts/969a8066.html)
31+
- [linux时间同步](https://zhuanlan.zhihu.com/p/44022718) ([链接备份](https://archive.md/E69uK))
32+
- [如何在 Linux 下确认 NTP 是否同步?](https://linux.cn/article-10951-1.html) ([链接备份](https://archive.md/ooNQy))
33+
- [NTP时间同步服务](https://www.escapelife.site/posts/969a8066.html) ([链接备份](https://web.archive.org/web/20230301082825/https://www.escapelife.site/posts/969a8066.html))

linux/perf.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## perf 命令
22

3-
- [在Linux下做性能分析3:perf](https://zhuanlan.zhihu.com/p/22194920)
3+
- [在Linux下做性能分析3:perf](https://zhuanlan.zhihu.com/p/22194920) ([链接备份](https://archive.md/AoAfs))

linux/time.md

+64-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,67 @@
1-
## time 命令
1+
# time 命令
2+
<!-- editorconfig-checker-disable-file -->
23

3-
当在 shell 里执行 `type time` 会提示 `time is a shell keyword`。通常我们使用的 time 只是 shell 内置的关键字而已,跟 function 一样。
4+
当在 shell 里执行 `type time` 会提示 `time is a shell keyword`。通常我们使用的 `time` 只是 shell 内置的关键字,跟 function 一样。
45

5-
然而还存在 `/usr/bin/time` 这个文件,能够显示比 `time` 更详细的信息。
6+
然而还存在 `/usr/bin/time` 这个文件,能够显示比 `time` 更详细的信息。需要使用绝对路径来调用这个命令。
67

7-
BSD 系统下,使用方式是 `/usr/bin/time -lp echo 1`
8-
Linux 系统下,使用方式是 `/usr/bin/time -v echo 1`
8+
## BSD/MacOS 系统
9+
10+
使用方式是 `/usr/bin/time -lp echo 1`
11+
12+
```sh
13+
> /usr/bin/time -lp echo 123 > /dev/null
14+
real 0.00
15+
user 0.00
16+
sys 0.00
17+
1458176 maximum resident set size
18+
0 average shared memory size
19+
0 average unshared data size
20+
0 average unshared stack size
21+
168 page reclaims
22+
0 page faults
23+
0 swaps
24+
0 block input operations
25+
0 block output operations
26+
0 messages sent
27+
0 messages received
28+
0 signals received
29+
1 voluntary context switches
30+
6 involuntary context switches
31+
3367158 instructions retired
32+
1603063 cycles elapsed
33+
983744 peak memory footprint
34+
```
35+
36+
MacOS 可以通过 `brew install gnu-time` 来装 `gtime` 命令。
37+
38+
## Linux 系统
39+
40+
使用方式是 `/usr/bin/time -v echo 1`
41+
42+
```sh
43+
> /usr/bin/time -v echo 123 > /dev/null
44+
Command being timed: "echo 123"
45+
User time (seconds): 0.00
46+
System time (seconds): 0.00
47+
Percent of CPU this job got: 50%
48+
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
49+
Average shared text size (kbytes): 0
50+
Average unshared data size (kbytes): 0
51+
Average stack size (kbytes): 0
52+
Average total size (kbytes): 0
53+
Maximum resident set size (kbytes): 1424
54+
Average resident set size (kbytes): 0
55+
Major (requiring I/O) page faults: 2
56+
Minor (reclaiming a frame) page faults: 166
57+
Voluntary context switches: 1
58+
Involuntary context switches: 3
59+
Swaps: 0
60+
File system inputs: 0
61+
File system outputs: 0
62+
Socket messages sent: 0
63+
Socket messages received: 0
64+
Signals delivered: 0
65+
Page size (bytes): 16384
66+
Exit status: 0
67+
```

linux/why-fork-twice-when-create-daemon-process.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ Daemon 进程不应该受到终端和会话的影响。
1818
具体参考这几篇文章:
1919

2020
- https://stackoverflow.com/a/16655124/4622308
21-
- https://zhuanlan.zhihu.com/p/44874925
22-
- https://www.win.tue.nl/~aeb/linux/lk/lk-10.html ([链接备份](https://web.archive.org/web/20220815032909/https://www.win.tue.nl/~aeb/linux/lk/lk-10.html))
21+
- [Daemonize 一个进程为什么需要 fork 两次](https://zhuanlan.zhihu.com/p/44874925) ([链接备份](https://archive.md/BIcRp))
22+
- [Linux Kernel: Processes](https://www.win.tue.nl/~aeb/linux/lk/lk-10.html) ([链接备份](https://web.archive.org/web/20220815032909/https://www.win.tue.nl/~aeb/linux/lk/lk-10.html))
2323
- https://stackoverflow.com/a/5386753/4622308
24-
- https://my.oschina.net/hosee/blog/507098 ([链接备份](https://web.archive.org/web/20171102155811/https://my.oschina.net/hosee/blog/507098))
24+
- [Linux进程组和会话](https://web.archive.org/web/20171102155811/https://my.oschina.net/hosee/blog/507098)
2525

2626

2727
[setsid]: https://man7.org/linux/man-pages/man2/setsid.2.html

0 commit comments

Comments
 (0)