는 C

2012-05-09 2 views
-1

와 장치의 주소를 얻기 위해 어떻게 이렇게 내 하드 디스크의 ID를 얻을 :는 C

system("hdparm -i /dev/xxx > /tmp/hdid"); 

어떻게 프로그램에서 장치 이름 (/dev/sda 또는 /dev/sdb 또는 /dev/hda 등)를 얻을 수 있습니다 C?

감사

답변

0

귀하의 질문은 나에게 전혀 분명하지 않다 -이 리눅스의 경우, 시도 :

getmntent()을/proc/mounts 디렉토리 목록이 장착 된 마운트 된 파일 시스템

을 열거 devices

/dev/disks 디렉토리는 디스크 장치를 나열하며 이름은 일반적으로 sda, sdb 등입니다. 여기에는 탑재되지 않은 장치가 포함됩니다. 엔트리에는 심볼릭 링크가 있으므로 readlink 또는 ls -l은 대상을 표시합니다.

+0

좋아 ... 문제는 내가 어떤 장치 (/ dev/hda 또는/dev/sda 또는 etc ..)가 내 프로그램을 C로 실행하여 hdparm을 실행할 수 있는지 알고 싶다는 것이다. -i/dev/xxx를 올바르게 입력하십시오. 나를 이해하시기 바랍니다. 안부 –

+0

@CarlosCarranza 당신은 주()의 첫 번째 인자 - 디스크와 디렉토리를 포함하는 EXE에 대한 전체 경로 –

+0

예를 들어 "getmntent"와 함께 - OK를 부여해야합니다. –