"uptime"의 소스 코드는 어디서 찾을 수 있나요?

"uptime"의 소스 코드는 어디서 찾을 수 있나요?

저는 파이썬을 배우고 있어요. 지금까지는 기본적인 Python 코딩만 해봤습니다. 하루 전에 나는 tree명령의 Python 구현을 확인했습니다. 갑자기 그런 생각이 들었습니다 uptime. 어떤 언어로 구현되었는지, 복제가 얼마나 복잡한지 모르겠습니다.

하지만 소스 코드를 찾을 수 없습니다. 저는 페도라 14를 사용하고 있습니다. kernel-devel 패키지가 설치되었습니다. whereis uptime이렇게 했는데 /usr/bin/uptimevim을 사용하여 열면 결과 파일에 이상한 기호가 표시됩니다. 소스 코드를 인터넷 검색해도 예상되는 결과가 나오지 않습니다. 소스 코드는 어디서 찾을 수 있나요?

답변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

가동 시간은 "procps" 패키지의 일부이며 업스트림 소스는 다음 위치에 있습니다.http://procps.sourceforge.net/ (페도라 사용자가 아니므로 .src.rpm을 어디서 찾을 수 있는지 잘 모르겠습니다).

그러나 묻지 않은 질문에 답하려면 /proc/uptime을 살펴보세요. 첫 번째 숫자는 부팅 이후의 시간(초)입니다. 이것을 매우 쉽게 사용할 수 있는 것으로 바꿀 수 있어야 합니다 :)

관련 정보