리눅스 프로그램에서 모듈이 적재된경우에만 해당 모듈을 사용하려고 합니다.
모듈관련 검색하면 죄다 modinfo, lsmod 등의 자료만 나오네요 ㅠㅠ
리눅스 C 소스코드에서 모듈이 적재되었는지 확인하는 방법이 있나요?
미천한 지식으로 해보려고 하니 산이 너무 많네요 ㅠ
https://stackoverflow.com/questions/12978794/programmatically-check-whether-a-linux-kernel-module-exists-or-not-at-runtime
귀하께서 원하는 기능을 lsmod가 구현하고 있지요. 그 실행 결과를 받아와서 원하는 기능을 간접적으로 구현하던가, 아니면 lsmod의 소스 코드를 구해다가 참조하시는 방법도 있겠습니다. (그거야말로 오픈소스를 사용할 때 누릴 수 있는 혜택입니다. 다만 GPL 유의하시고요.)
CAPTCHA 에러가 발생하길래 다시 썼더니 두 개 올라가는군요.
별 문제는 아니더라도 kldp에서 고질적으로 발생해 온 현상 중 하나인데, 관리자님께서 발견하시는 대로 삭제해 주시는 건 감사합니다만 뭔가 근본적인 해결책이 있으면 좋지 않을지 생각해봅니다. 글을 쓴 뒤 30초 동안은 다른 글을 못 쓰게 한다던가..
답변감사합니다. 제가 작업중인 내용을 좀더 설명을 드리면... busybox + linux 환경입니다.
https://stackoverflow.com/questions/12978794/programmatically-check-whether-a-linux-kernel-module-exists-or-not-at-runtime 를 참조하여 프로그래밍을 하려고 하였으나...
busybox+linux 환경에서는 소스코드에서 lsmod 결과를 받아서 체크 하는 스크립트 작성을 할때 include 하는 부분에서 문제가 발생하네요 ㅠㅠ
답글 다시한번 감사드립니다.
위 스택오버플로우 링크에서 채택된 답변보다 채택되지 않은 다른 답변이 사실 정답입니다. 채택된 답변도 작동하기는 하지만 필요없는 오버헤드가 있습니다. 단순히 /proc/modules를 읽으면 되는 일입니다.
이미 다른 분이 말씀하셨지만 lsmod 소스를 참고하세요. 단순합니다.https://kernel.googlesource.com/pub/scm/utils/kernel/module-init-tools/module-init-tools/+/kay/lsmod.c
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
https://stackoverflow.com
https://stackoverflow.com/questions/12978794/programmatically-check-whether-a-linux-kernel-module-exists-or-not-at-runtime
귀하께서 원하는 기능을 lsmod가 구현하고 있지요.
그 실행 결과를 받아와서 원하는 기능을 간접적으로 구현하던가, 아니면 lsmod의 소스 코드를 구해다가 참조하시는 방법도 있겠습니다. (그거야말로 오픈소스를 사용할 때 누릴 수 있는 혜택입니다. 다만 GPL 유의하시고요.)
CAPTCHA 에러가 발생하길래 다시 썼더니 두 개
CAPTCHA 에러가 발생하길래 다시 썼더니 두 개 올라가는군요.
별 문제는 아니더라도 kldp에서 고질적으로 발생해 온 현상 중 하나인데, 관리자님께서 발견하시는 대로 삭제해 주시는 건 감사합니다만 뭔가 근본적인 해결책이 있으면 좋지 않을지 생각해봅니다. 글을 쓴 뒤 30초 동안은 다른 글을 못 쓰게 한다던가..
답변감사합니다.
답변감사합니다.
제가 작업중인 내용을 좀더 설명을 드리면...
busybox + linux 환경입니다.
https://stackoverflow.com/questions/12978794/programmatically-check-whether-a-linux-kernel-module-exists-or-not-at-runtime
를 참조하여 프로그래밍을 하려고 하였으나...
busybox+linux 환경에서는 소스코드에서 lsmod 결과를 받아서 체크 하는 스크립트 작성을 할때
include 하는 부분에서 문제가 발생하네요 ㅠㅠ
답글 다시한번 감사드립니다.
위 스택오버플로우 링크에서 채택된 답변보다 채택되지
위 스택오버플로우 링크에서 채택된 답변보다 채택되지 않은 다른 답변이 사실 정답입니다. 채택된 답변도 작동하기는 하지만 필요없는 오버헤드가 있습니다. 단순히 /proc/modules를 읽으면 되는 일입니다.
이미 다른 분이 말씀하셨지만 lsmod 소스를 참고하세요. 단순합니다.
https://kernel.googlesource.com/pub/scm/utils/kernel/module-init-tools/module-init-tools/+/kay/lsmod.c
댓글 달기