在哪里可以找到“uptime”的源代码?

在哪里可以找到“uptime”的源代码?

我正在学习Python。到目前为止,我只进行了基本的 Python 编码。一天前,我检查了tree命令的python实现。突然我想到为uptime.我不知道它是用哪种语言实现的,以及克隆它的复杂性是什么。

但我找不到它的源代码。我使用的是 Fedora 14。已安装 kernel-devel 软件包。我这样做了whereis uptime,但/usr/bin/uptime使用 vim 打开时生成的文件显示奇怪的符号。谷歌搜索其源代码也无法得到预期的结果。我在哪里可以找到它的源代码?

答案1

一般来说,在像 Fedora 这样基于 RPM 的发行版上,您可以找到提供给定命令的软件包的名称rpm -qf /path/to/command。像这样:

$ rpm -qf $( which uptime )
procps-3.2.8-18.20110302git.fc16.x86_64

然后您可以使用 下载源 RPM yumdownloader --source procps。 (yumdownloader 来自yum-utils软件包,如果您还没有安装的话。)一旦您拥有 src.rpm,您可以使用 或rpm -i来解压它rpm2cpio

或者,在许多情况下,您可以查询 RPM 包中的项目 URL,这可能会帮助您找到上游源:

$ rpm -qi procps|grep ^URL
URL         : http://gitorious.org/procps

而且,很酷,代码可以方便地在线浏览。如果你仔细阅读它,基本上它所做的就是/proc/uptime漂亮地阅读和打印它。

答案2

Uptime 是“procps”包的一部分,上游源位于http://procps.sourceforge.net/ (不是 fedora 用户,所以不确定在哪里可以找到他们的 .src.rpm)。

然而,要回答你没有问的问题;查看 /proc/uptime 第一个数字是自启动以来的秒数。你应该能够很容易地将其变成可用的东西:)

相关内容