首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

请教一个 curl 返回值的问题,返回值太大

  •  
  •   shenxgan · 289 天前 · 448 次点击
    这是一个创建于 289 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用 python2
    exitcode, output = commands.getstatusoutput(cmd)
    发现 exitcode 有 8960/7168 这几个值;根据 man page https://curl.haxx.se/docs/manpage.html 中的记录,exitcode 目前最大值是 92 ;上网搜索了一下,只搜到这个
    https://lost-contact.mit.edu/afs/ific.uv.es/project/atlas/software/ganga_old/install/4.4.10/reports/latest/html/coverage/summary/GangaAtlas/DQCurl.py.html
    发现,8960=35*(2**8); 7168=28*(2*8); 都是小 code 左移 8 位就得到大 code。肯定有不可告人的秘密,有人知道咋回事吗?
    4 回复  |  直到 2019-02-25 14:39:42 +08:00
        1
    ysc3839   289 天前 via Android   ♥ 1
    先查 Python 文档 https://docs.python.org/2/library/commands.html#commands.getstatusoutput
    有写 The exit status for the command can be interpreted according to the rules for the C function wait().

    再查 Linux man https://linux.die.net/man/2/wait
    If status is not NULL, wait() and waitpid() store status information in the int to which it points. This integer can be inspected with the following macros (which take the integer itself as an argument, not a pointer to it, as is done in wait() and waitpid()!):

    下面有写
    WEXITSTATUS(status)
    returns the exit status of the child. This consists of the least significant 8 bits of the status argument that the child specified in a call to exit(3) or _exit(2) or as the argument for a return statement in main(). This macro should only be employed if WIFEXITED returned true.
        2
    shenxgan   289 天前
    @ysc3839 不是很懂
        3
    ysc3839   289 天前 via Android   ♥ 1
    @shenxgan 先用 WIFEXITED 判断是否是正常退出,是的话用 WEXITSTATUS 获取返回值。
    Python 有内置这两个函数 https://docs.python.org/2/library/os.html#os.WIFEXITED
        4
    shenxgan   286 天前
    @ysc3839 谢谢解惑,再次感谢。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2395 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 12:58 · PVG 20:58 · LAX 04:58 · JFK 07:58
    ♥ Do have faith in what you're doing.