프로그래밍 QnA

ctall의 이미지

데몬으로 수행한 후 대기기간 동안에는 CPU사용하지 않는 방법없

정해진 날자에 특정한 작업을 수행하려는 프로그램을 짜고 있는데요...

while(1)
{
if( 특정날자 조건)
{
.... 수행할 작업
exit(0);
}
}

단순 무식하게 이런식으로 짜고, 데몬으로 수행했더니

top을 본 결과 이넘이 CPU를 거의 다 사용하고 있는걸루 나와버리네요.

특정한 날자가 될때까지 대기할때 자원은 사용하지 않고 기다리게 할 수 있는 방법 없을까요?

읽어주셔서 감사합니다. (__)

hiscom의 이미지

마운트 안된 디스크 정보도 가져오는 함수가 있나요?

즉, 시스템에 연결되어 있는 모든 하드디스크의 정보를 가져와야하는데요.

sfdisk -l
같은 기능이 필요합니다.
있으면 함수와 간단한 사용법좀 알려주세요.

ps. statfs(), vstatfs() 는 마운트된 디스크의 정보만을 가져오더라고요.

philossh의 이미지

표준 라이브러리.. 따라잡기...

int asmstrlen(const char* ch)
{
	__asm
	{
		mov edi, dword ptr [ebp+8];
		xor al, al;
		mov ecx, -1;
      repne scasb;
		xor eax, eax;
		mov eax, -2;
		sub eax, ecx;
	}
}

표준라이브러리의 strlen() 함수를 따라잡아보려고..
거의 모르는 어셈까지 써가며 해봤는데..
결과는 처참하네요..
(똑바로된 어셈을 작성할 능력이 없어서 그런지는 몰라도.. :oops:)

for루프를 약 1000만번 돌리니..
표준 : 약 250 ms
허접한어셈: 약 850 ms
아래처럼하면.. 약 2300 ms 정도..

punxism의 이미지

소켓 프로그래밍 int -> char[], char[] -> int 변환 질문

안녕하세요. 네트워크 프로그래밍 초짜입니다. -.-;

x,y 좌표점을 클라이언트로 전송하고 싶습니다.

int num= 6000;//int형은 4바이트
char ch[4] ={0} ;

라고 선언하고
memcpy(char, num, 4);
이렇게 하면 num에 잇는 6000이 ch에 그대로 복사 되나요?
그럼 ch[4]를 다시 int로 바꾸려면 어떻게 해야 하는지 궁금합니다.

검색하니 itoa()를 이용해 많이 변환하던데. int형이 4바이트라면 char[4]의 크기에 저장할 수도 있는거 아닌가요? 그 방법을 알고 싶습니다.

감사합

elitekdj의 이미지

memory에 올라와 있는 process image 중에서 특정 binary 찾는

안녕하세요.

실행중인 특정 process의 memory map 모습은

#cat /proc/<pid>/maps 를 살펴봄으로써 확인할 수 있습니다.

그리고,

실행중인 특정 process의 id를 사용해서

#gdb <program_name> <pid>

gdb를 이용하면, 해당 process를 attach하여 그 process의

register 및 기타 정보들을 살펴 볼수가 있죠.

그런데, 지금 저는

메모리에 올라와 있는 특정 프로세스 이미지에서

원하는 image string을 찾고 싶을때 어떻게 하는지가 궁금합니다.

windows에서는 특정 디버거들을 이용해서 (ex> ollydbg)

assa의 이미지

[Perl] 디렉토리 핸들을 얻는 방법을 잘 모르겠습니다.

현재 작성하는 프로그램으로 하위 디렉토리의 이름들을

저장하는 프로그램을 만들려고 합니다.

문제는 opendir()을 재귀적으로 호출할려니까,

디렉토리 핸들이 자꾸 걸리네요..ㅠㅠ

opendir() 방법이 아닌..

다른 방법은 없는 건가요?

파일은 라이브러리(?)로 IO::File이 주어져서..

임의의 스칼라값으로 핸들을 구하던데요.

디렉토리 핸들도 마찬가지로 이런 것이 있는지요..

beanpole의 이미지

리눅스 드라이버 지원 가능한 웹캠(webcam) 제품은?

안녕하세요.
웹캠을 이용해서 화상통화를 진행하고자 합니다.
현재 리눅스 드라이버가 지원되는 웹캠은 어떤 것들이 있는지 궁금합니다. 현재 MCAM100 제품을 가지고 있는데 다른 제품을 구하고자 합니다.
기대하는 수준은 커널 버젼과 상관없이 웹캠을 이용할까 합니다.

MCAM100의 경우 리눅스 커널 2.4.3 및 2.4.2에서 동작을 검증하였습니다. 잘 돌아가네요. 그 외에 다른 것이 어떤 제품이 있는지 고수님의 고견을 부탁드립니다. ^^

* Logitech 등을 보고 있습니다. ...

soylove의 이미지

(답변기다림)소켓통신에서 포트 두개를 열어놓을라고 하는데요..

소켓통신에서 포트 두개를 같이 열어놓으려고 프로그램을 만들었습니다.
하나일때 잘 되는것을 확인했었고 두개를 열때는 포트번호만 다르게해서 똑같이 소켓설정하고 옵션설정하고 바인드 하고 리슨하면 될줄 알았는데.. 하나는 포트가 열리는데 나머지 하나가 안열립니다.. 제가 사용한 포트가 특별히 다른 프로그램에서 사용되는 포트가 아니라는건 이미 확인햇구요... 이래저래 찾다가
멤버셋에서 서버의 주소를 INADDR_ANY대신 ip를 직접 넣었더니 바인드가 안되네요...(그런데 이 방법이 정확히 쓴건지도 잘은 모르겠습니다.. 잔머리를 굴린방법이라)

소맛라면의 이미지

echo 분석중...에..

coreutils을 분석하고 있습니다..

모든 c소스 파일 mian에 다음과 같은 부분이 있더군요..

뭐 하는 놈인지 알수기 있으야죠~;;
[code:1] #include <alloca.h>
#include <sys/stat.h>
#include <limits.h>
#include <string.h>
include <errno.h>
include <stdbool.h>
include <stdlib.h>
include <ctype.h>
.
.
initialize_main (&argc, &argv);
program_name = argv[0];
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);

facered79의 이미지

snmp에 새로운 mib을 만들고 추가 하는 전체적인 과정은..?

mib2c 의 manpage 중에 아래와 같은 내용이 있습니다..

In order to implement a new MIB module, three files are
necessary:

- MIB definition file
- C header file
- C implementation file.

보시는 바와 같이 새로운 밉을 생성하기 위한 순서인데요..

현재 mib을 만들어야 할 일이 있어서.. 공부해 보려고 하는데

도무지 시작점이 잡히지가 않습니다..

snmp mib 을 만들고 추가 하셨던 분들의 많은 조언이나 공유가능한 자료들이 있다면 부탁드리고 싶습니다..

페이지

프로그래밍 QnA 구독하기