原创 eventfd 進程間同步

先打印“parent”,後打印“child” #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> #include <sys/eventfd.h> #include

原创 Namespaces in operation, part 1: namespaces overview

Linux 3.8 合併窗口接受了 Eric Biederman 的大量用戶命名空間及相關的補丁。儘管仍有一些細節待完成,例如,許多 Linux 文件系統還不知道用戶命名空間,但用戶命名空間的實現已經在功能上完成了。 用戶命名空間

原创 輕量級容器程序

陽哥的程序:https://github.com/Pro-YY/jail 主進程: argp_parse 解析輸入參數。 用 root 身份建立了 cgroup(限制一組進程的資源),rlimit(限制一個進程或者一個用戶的資源

原创 編譯原理之美 --- 05 | 語法分析(三):實現一門簡單的腳本語言

腳本語言支持變量,通過使用字典作爲變量存儲區實現。 賦值語句中的等號後面可匹配表達式。 嘗試一個規則不成功之後,恢復到原樣,再去嘗試另外的規則,這個現象就叫做“回溯”。 simple_script.py #!/usr/bin/en

原创 Mount namespaces and shared subtrees

掛載命名空間是創建每-用戶和每-容器文件系統樹的強大而靈活的工具。本文中,我們將仔細研究共享子樹特性,它可通過自動、可控的方式在掛載命名空間之間傳播掛載和卸載事件。 引言 掛載命名空間是第一個添加到 Linux 的命名空間類型,出

原创 編譯原理之美---正則文法和有限自動機:純手工打造詞法分析器

詞法分析:識別 Token。 依據構造好的有限自動機,在不同的狀態中遷移,從而解析出 Token 來。 python base_type.py #!/usr/bin/env python # -*- coding: utf-8 -

原创 Namespaces in operation, part 3: PID namespaces

接着前兩篇命名空間文章(Part 1: namespaces overview and Part 2: the namespaces API),現在看一下 PID 命名空間。與 PID 命名空間相關的全局資源就是進程 ID 數字空

原创 Requirement already satisfied: flask in /usr/local/lib64/python3.6/site-packages

問題描述 執行 pm2 start -s --name=hello hello.py 服務器沒有啓動成功 pm2 日誌: vim ~/.pm2/logs/hello-error.log Traceback (most rece

原创 Nodejs---promisify fs.mkdir

const {promisify} = require('util') const fs = require('fs') const mkdirAsync = promisify(fs.mkdir) mkdirAsync('/d

原创 react---刷新後會執行什麼函數

react 組件,手動刷新頁面後,後會執行組件的 componentDidMount() 函數

原创 Namespaces in operation, part 6: more on user namespaces

本文中,繼續上週關於用戶命名空間的討論。特別的,我們看一下更多有關與用戶命名空間、capabilities 的交互及用戶命名空間與其它類型的命名空間的結合。本文是命名空間系列的最後一篇。 用戶命名空間和 capabilities

原创 Node.js ---瞭解 Node.js

搭建網站中可能用到的 Nose.js 模塊: JS 事件循環 Node.js 中的事件循環 參考 https://medium.com/front-end-weekly/javascript-event-loop-exp

原创 div控件是否顯示

let isShow = true ... <div style={{display: isShow ? 'block': 'none'}}> 控件 </div>

原创 .tar.xz 的壓縮與解壓

壓縮: tar -Jcvf test.tar.xz test 解壓: tar -Jxf test.tar.xz

原创 c --- 參數解析

例子一 原文:https://www.gnu.org/software/libc/manual/html_node/Argp-Example-1.html#Argp-Example-1 argp 最小的例子。 當有參數時,給出一