2010-06-07 4 views
8

우분투를 사용하고 있으며 커널 버전을 읽고 싶습니다./proc /에 현재 커널의 버전을 기록한 version이라는 파일이 있습니다.C를 사용하여 Linux 커널 버전을 읽으시겠습니까?

파일을 읽고 싶지 않다면 C 언어의 기본 제공 함수처럼 다른 방법이 있습니까?

감사

+2

왜 파일을 읽지 않으시겠습니까? – icktoofay

+0

@icktoofay -이 작업을 수행하는 것은 비효율적 인 방법이기 때문입니다. – Geoffrey

답변

8

uname 기능을 확인하십시오. 그것은 몇몇 리눅스 실행 파일의 출력을 분석 할 필요없이 많은 정보를 제공합니다.

+1

고마워, 그게 내가 필요한거야. 귀하의 지원에 감사드립니다. – ipkiss

+0

실제로 링크에 숨기는 대신 답변에 해당 함수의 이름을 포함하는 것이 어떻습니까? – Alnitak

+0

고정. 오랜 시간 동안 나는 그동안 지냈다. 감사! – INS

3

이 수행해야합니다

system("uname -r"); 

편집 : 당신은 uname를 사용하여 시도 할 수도 터미널 입력 man unameuname

+6

이것은 표준 출력에 정보를 인쇄합니다. 프로그램에서 사용하려면 시스템 호출을 사용하십시오. –

7

와 함께 사용할 수있는 옵션 목록을 얻을 수 있습니다 기능.

0

커널 정보를 가져 오는 쉘 기반 방법에 대해서는 this 문서를 참조하십시오. system() 호출을 사용하여이 모든 것을 적절하게 실행할 수 있습니다. 그러나 나는 그것이 귀하의 경우에는 충분하지 않을 것이라고 가정합니다. 셸 출력을 파싱해야 할 필요가 있습니다. 그러므로 popen() 전화를 사용하십시오.

0

또는/proc/version을 읽을 수 있지만 uname (2)를 직접 호출하는 것만 큼 좋지는 않습니다. uname (2)가 C보다 자연 스럽습니다.

관련 문제