zoukankan      html  css  js  c++  java
  • 创建进程注意事项等几则笔记

    创建进程注意事项等几则笔记

     

    转载时请注明出处和作者联系方式:http://blog.csdn.net/absurd

    作者联系方式:李先静<xianjimli at hotmail dot com>

    更新时间:2007-4-13

     

    1.         Favorites的图标。

    IE的收藏夹中,大部分收藏的图标都是IE默认的,但像googlesina等网站都使用了自己的图标。我发现minimo也支持这个功能,但不知道原因,今天在网上查了一下,原来只要在网站的根目录下放一个favicon.ico文件就行了。

     

    2.         创建进程时的注意事项。

    linux下的C程序里,运行一个外部程序有好几种方式:popensystemfork+execxx。在使用fork+execxx时,要注意:

    l         最好不要让子进程继承除标准输入/输出/错误外的文件描述符。这可以在execxx前执行下列代码:

        maxopen = sysconf (_SC_OPEN_MAX);

        for (i = 3; i < maxopen; i++)

            fcntl (i, F_SETFD, FD_CLOEXEC);

     

    l         记得检查execxx的返回值,如果执行失败,应该结束子进程,否则可能引发严重错误。如:

        if(execl (...) < 0)

        {

            kill(getpid(), SIGKILL);

        }

    最好用kill而不是用exit结束子进程,因为exit会执行atexit安装的函数,这在有时是不期望的,特别是对于GUI应用程序来说更是如此。

     

    3.         查看ARM版可执行文件的依赖关系。

    ARM版的工具链往往没有与PC对应的ldd命令,查看可执行文件所依赖的动态库只能使用其它方法:

    l         方法一:运行应用程序,查看proc下的信息。

    cat /proc/pid/maps pid换成真正的pid

    l         方法二:使用elf loader查看。

    /lib/ld-linux.so.2 –list prog/sharelib  (prog/sharelib换成真正的可执行文件/动态库)

     

    ~~end~~

     
  • 相关阅读:
    Day-11 闭包和迭代器
    Day-01 Python基础
    Day-10 函数的进阶
    Day-09 初识函数
    Day-08 文件操作
    Day-07 基础数据类型补充 set集合 深浅拷贝
    Day-06 小数据池 再谈编码
    Day-05 基础数据类型字典dict
    Day-04 基础数据类型list, tuple
    NodeJs获取两个日期间的所有日期
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167735.html
Copyright © 2011-2022 走看看