• 无话不说 没有话说

    我觉得最好的状态就是可以无话不说, 也可以没有话说

  • forward-i-search in bash

    https://stackoverflow.com/questions/549810/control-r-reverse-i-search-in-bash-how-do-you-reset-the-search-in-cygwin

    https://superuser.com/questions/159106/reverse-i-search-in-bash

    https://superuser.com/questions/472846/how-to-reverse-i-search-back-and-forth

    Ctrl-R可以用来反向搜索曾经搜索行的命令, 用过的同学一定爱不释手, 可是怎么样正向搜索呢? 万一多按了几下Ctrl-R就要从头再来了, 真的很麻烦.

    Ctrl-S是可以正向搜索的, 但是如果你按了它没反应, 是因为Ctrl-S被另外一个功能覆盖了.

    Ctrl-S可以停止输出, 比如在ping www.ctrip.com的时候, Ctrl-S就可以把输出暂时屏蔽了. Ctrl-Q可以再次输出来.

    stty -ixon可以把这个功能停掉, stty ixon可以再次启用这个功能.

    反正我的感觉是 stty -ixon更好一些吧, ‘START/STOP output control’用到并不多, 但forward-i-search却是会经常用.

  • GCC

    预处理

    gcc -E a.c -o a.i

    汇编

    gcc -S a.c -o a.s gcc -S -masm=intel a.c -o a.s

    生成目标文件

    gcc -c a.c

  • nginx做websocket代理的idle timeout问题

    需要在proxy_pass里面加上proxy_read_timeout 60;

    Defines a timeout for reading a response from the proxied server. The timeout is set only between two successive read operations, not for the transmission of the whole response. If the proxied server does not transmit anything within this time, the connection is closed.

  • waitpid 疑问

    WCONTINUED 说明中提到 “子进程在暂停后已经继续”, 暂停的进程是什么概念?

  • 程序退出

    之前曾经纠结过, 如果Kill -9, socket等会不会关闭.

    apue8.5章说了, “不管进程如何终止,最后都会执行内核中的同一段代码.这段代码为进程关闭所有打开描述符,释放它所使用的存储器.”

  • 缓冲

    apue里面的8.1示例代码

    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int glob = 6;
    char buf[] = "a write to stdout\n";
    
    int main(int argc, char const* argv[])
    {
        int var;
        pid_t pid;
        var = 88;
        if (write(STDOUT_FILENO, buf, sizeof(buf)-1 ) != sizeof (buf)-1){
            printf("write error");
            exit(1);
        }
        printf("before fork\n");
    
        if ((pid = fork()) <0){
            printf("fork error");
            exit(1);
        }else if (pid == 0){
            glob +=1 ;
            var += 1;
        }else {
            sleep( 2 );
        }
        printf("pid=%d, glob=%d, var=%d\n", pid, glob, var);
        return 0;
    }
    

    write是不带缓冲的, printf有. 标准输出重定向到文件时, 会有两行 before fork

    他们的文件指针指向的文件表以及文件表中的文件偏移量是一样的, 这样才能保证写的数据不会覆盖.

  • 开心

    听说你现在很开心, 我真的很开心.

  • 告别

    最伤心的是告别, 与亲人告别, 与往事告别.

  • 有人可以爱

    微热.

    我喜欢这种有人可以爱的感觉. 整个人都变得坚定起来.