Recent Posts

Python 打包工具 zipapp

Python 标准库里提供了一个项目打包压缩的工具 zipapp,可以把项目打包到一个可执行文件里,从而方便地发布或者分享出去;收 …

.NET Framework 3.5 installation error

安装某软件时,它提示有对 .NET 3.5 的依赖,因为本地没有安装对应的版本。但 Windows 在自动安装 .NET 3.5 失败了,返回了错误号:0x800F081F …

Pelican 编译问题

今天遇到了一个问题:重新编译 pelican 项目时,发现编译生成的 articles 数量要比正常的少很多,而且没有任何出错信息。

经过研究,找 …

使用 Kill 发信号时误杀进程的问题

程序里会使用 Kill 发送 SIGTERM 信号,要求某进程组结束:

kill -15 -<pgid>

实际运行时发现一个问题,除了这个目标进程组之外,有时候其他 …

Python 里处理 SIGPIPE 异常

因为项目需要,用 Python 定制了一个小工具。具体功能就不说了,以下记录遇到的 SIGPIPE 问题及解决办法。

问题

工具(以下就称为 app)使 …

Python decorator 被装饰函数的调用问题

装饰器模式(Decorator Pattern)可以在不需要改变函数实现的情况下,修改或者完善它的功能。多数情况下是在被装饰函数调用的之前 …

Python decorator 装饰器的 wrapper 问题

问题:

def log(func):
    def wrapper(*args, **kwargs):
        print('before call %s' % func.__name__)
        func(*args, **kwargs)
        print('after call %s' % func.__name__)

    return wrapper

@log
def test_func(a, b):
    print('%d + %d = %d' % (a, b, a + b))

使用 @log 的 decorator 后,以下的打印 …

Python decorator 装饰器

装饰器模式(Decorator Pattern)是设计模式中的一种,主要目的是提供了这样一种操作,可以在不需要改变函数实现代码的情况下,用来 …

运行程序时设置 timeout 超时

问题

因为有个临时的需求,所以开了服务并监听在某个公网端口上,然后忘了关了 …… 直到很久才想起 ……

解决

对于类似的使用 …

vim 里打开 file:line

0x00

Linux 里,很多工具都会按文件加行号file:line)的格式输出,比如 grep

$ grep -nr "Sanitize in progress..."
drivers/mmc/core/mmc_ops.c:1008:     pr_debug("%s: Sanitize in progress...\n", mmc_hostname(host));

又比如 Linux 动态 …