프로그래밍 QnA

k2sguard의 이미지

TCP 유휴상태? 질문입니다.

안녕하세요. 초보 개발자가 또 질문을 올립니다.

서버와 클라이언트간 TCP로 연결되어있고

클라이언트는 송신만 합니다. 그래서 따로

recv(TCPID, &buf, 1, MSG_PEEK);

를 쓰레드로 무한 루프 돌려 계속 서버와의 종료 상태를 체크 합니다.

그런데 장시간 서버와 클라이언트간의 통신이 없으면

저 클라이언트 recv 에서 0 값이 옵니다. (서버는 아무런 send를 하지 않았습니다.)

프로그램상 recv 0 이 오면 서버쪽에서 정상 종료된걸로 보고 따로 close(TCP_ID); 하지 않았으나

서버에서 클라이언트 종료를 모르고있어서 close(TCP_ID);를 실행 해 주었습니다.

그런데도 서버에서는 클라이언트가 종료가 떨어지지 않더군요..

왜그런걸까요...?

감사합니다.

sanghun123의 이미지

module에서 task_struct 값을 제 어플리케이션에 보내주고 싶습니다.

실험용 module을 하나 만들었는데 제 어플리케이션에서

저 module에서 pid 값을 받아오려면 어떻게 해야하나요?

지금 필요한게 thread를 여러개 돌려서 각 thread마다

한번씩 module에서 task_struct를 사용해서 자신의

pid 값을 찾아서 받아왔으면 하는데 가능한가요?

감사합니다.

dbflwon의 이미지

공유메모리 shmat함수에 두번재인자를 사용에 관한 궁금합니다.

공유메모리에 대해 살펴보다 궁금증이
생겨서 질문드립니다.
void *shmat(int shmid, const void *shmaddr, int shmflg);
여기서 shmaddr에 0이 아닌 특정 주소값을 주게 되는 경우와
아닌 경우에 차이점이 궁금합니다.
선배님들의 가르침 부탁드립니다.

dltkddyd의 이미지

popen("grep ps","w") 이것 이상합니다. 기다리기 싫을 텐데..

#include <cstdio>
#include <cstdlib>
#include <unistd.h>
#include <cstring>
int main() {
  char rbuffer[1024];
  FILE* pipefp1=popen("ps -l","r");
  FILE* pipefp2=popen("grep ps","w");
  while(fgets(rbuffer,1024,pipefp1)!=0) {
    fputs(rbuffer,pipefp2);
    fputs(rbuffer,pipefp2);
  }
  pclose(pipefp1);
  pclose(pipefp2);
  return 0;
}

위와 같은 코드에서 pipefp1이 있는 행의 popen을 알겠는데, 그 아래 행이 이해되지 않습니다.

FILE* pipefp2=popen("grep ps","w");

sitan81의 이미지

Util Class 는 싱글톤으로 만드는 것과 static으로 메소드를 만드는 것 중 어느쪽을 선택해야 하나요?

최근 프로그래밍 공부를 하다가
실력자들이 유틸이라는 도움 클래스를 만들어 호출해 쓰는것을 자주 보았습니다.

다운도 받아서 써봤는데

2가지 부류로 나뉘더군요.

1. 싱글톤 으로 만들어 멤머 메소드를 접근
2. 멤버 메소드 각각을 static으로 만들어 생성없이 직접접근 ( 이편이 코드량은 줄어드는 것 같아 단순해 보이고 편해보입니다. )

예를 들어 안드로이드의
dialog util
Toast util
Bitmap util

그리고
DB작업을 위한 util

등등을 제작한다고 했을 때

어떤 것을 선택하는 것이 이로울까요??

ytt123의 이미지

c쉘에서 문자를 숫자로 취급하는 방법?

C쉘 스크립트 만드는 중인데요,

파일에서 받아들인 문자를 숫자로 취급할 수 있나요?

set aa = `cut -c 1-3 file.list`
@ bb = $aa + 5
echo $bb

하면 30 으로 나오네요 ^^;; 36 (=31+5) 으로 나와야 하는데 말이죠.
아마도 031을 31이란 숫자로 인식하지 않고, 문자로 인식해서 생기는 문제 같습니다.
031을 숫자 31로 인식하게 하는, 방법이 있을까요?

cat file.list
031-234-2345
131-234-2345
231-234-2345
..

dltkddyd의 이미지

popen("ps -l","w") 이후에 문제..어떻게 정보를 교환하는거죠?

#include <cstdio>
#include <cstdlib>
#include <unistd.h>
 
int main() {
  FILE* pipefp;
  char buffer[1024]={"tennis"};
  if((pipefp=popen("ps -l","w"))==NULL) {
    printf("The popen call error\n");
  }
  fputs(buffer,pipefp);
 
  pclose(pipefp);
 
  return 0;
}

fputs를 호출하는 부모프로세서에서 "tennis"라는 문자열을 저렇게 보내면 자식에서 어떤 방식으로 pipe로 입력된 값을 사용하나요?

howdoudo의 이미지

페도라 스크립트 실행 문제

안녕하세요 ?

허접한 embbeded linux 개발자입니다.

기존에 사용하던 Fedora 5 에서 컴파일 시에는 문제가 없었는데, Fedora 17로 소스를 옮겨서 컴파일 할려고 하니 스크립터 실행시에 문제가 발생합니다.

스크립터 내용은 아래와 같습니다. ".gen_funcs" 이라는 스크립터 파일의 일부입니다.

keke111의 이미지

uboot linker script 분석중에 궁금한게 있습니다.

u-boot linker sccript 분석중에 이상한 문구가 있어서
질문 드립니다.

. = ALIGN(4);
.data : {
*(.data*)
}

. = ALIGN(4);

. = .;

. = ALIGN(4);
.u_boot_list : {
#include
}

위와 같은 구문중에
". = .;" 이게 어떤의미 인지 궁금합니다.

chp320의 이미지

HP-UX에서 스크립트로 gzip 수행 실패

안녕하세요,

현재 HP-UX B.11.23 U ia64 를 사용중에 있습니다..

쉘스크립트로 로그파일을 압축하려 합니다.

LOG.20130227 이라는 파일이 있다면

1) tar 수행

LOG.20130227.tar

2) gzip 수행

LOG.20130227.tar.gz

크게 2번의 과정을 거쳐 최종 gz 파일을 생성하려 합니다.

그런데 콘솔창에서 쉘스크립트 수행 시 정상 처리되나,

crontab에 등록하여 수행시키면, 계속 tar 수행 후 gzip은 수행하지 못합니다.

권한 문제인가 싶어 chmod도 해보고 많은 방법을 사용해봤지만, 해결되지 않네요 ㅠㅠ

고수님들!!!!

해결법 좀 알려 주세요 ㅠㅠ

=============================================================

페이지

프로그래밍 QnA 구독하기