프로그래밍 QnA

dgsquare의 이미지

실제 shell에서 pipe의 구현이 어떻게 이루어 지나요?

학교 실습삼아 shell을 제작하고 있습니다. 거의 다 끝났구여 ^^... 그런데 하다가 궁금한 점이 생겼습니다.
bash나 cshell등 자주쓰이는 shell에서 pipe나 redirection등의 내부 구현이 어떻게 되는지 알고 싶습니다.

제가 구현한 shell에서는 하나의 단형 명령어들을 읽어드려서, 순차적으로 처리하고 있습니다.
예를 들어,
'ls -al | more | wc' 이런 구문이 있을시.
ls -al을 실행시키고, more를 실행하고, wc를 실행한 다음 마지막 모든 child가 종료시까지 대기하고, 최종 결과를 추출합니다. parent 밑에 child가 3개 형성되는 것입니다.

ckebabo의 이미지

이유없이(?) fork()한다???

몇몇 소스를 보다보면,

if(do_fork) {
    pid_t pid;

    if((pid=fork() == -1)
        perror("Could not fork");

    if(pid != 0)
        exit(0);
}

처럼 그냥 자신이 계속 수행해도 되는 것인데도 자식프로세스를 만들고는 정작 자신은 죽어버리는 것이 몇몇 있습니다. 이렇게 하는 무슨 특별한 이유가 있는 것인가요?
nayana의 이미지

해킹 탐지된 내용 분석?

Quote:
침입 정보
설명 값
룰 HTTP _vti_rpc
호스트 nids-giga
침입 시간 05/30/2005 14:21:40
출발지 172.17.56.68
목적지 211.115.158.8
침입자 네트워크 사용자
Time to Live 124
상세 정보 있음

패킷 헤더
키 데이터
Time 05/30/2005 13:56:50
Protocol TCP Protocol
Ethernet Source Address 00:09:43:2E:C3:FF
Ethernet Target Address 00:00:5E:00:01:02
Ethernet Type 2048
IP Source Address 172.17.56.68
IP Target Address 211.115.158.8
TCP Source Port 4848
TCP Target Port 80
InBounding yes
OutBounding no
IP Header Length 20
록수의 이미지

페도라 코어 3 에서 자바&이클립스 설치 관련 질문드립니다.

리눅스 입문자 입니다..
아직 갈길이 구만리 같네요..
어제 밤새해본 자바 설치때문에
질문드립니다.

다른곳에도 질문을 올렸는데 답을 찾을수 없어 이곳까지올립니다
이곳저곳올려 괜히 죄송스럽네요
인테넷의 메뉴얼대로 자바를 깔았습니다
그런데 , 이클립스가 실행이 안되네요..
그래서 클래스 패스를 잘 못 설정해서 그런가 해서 계속
만지고 있는데 잘 안됩니다..
이클립스를 실행하면 아래와같은 에러가 뜹니다.
JVM terminated. Exit code=1

힘내라의 이미지

[질문] 함수 호출의 부하

C언어 공부한지 얼마 안된 학생입니다.

다름 아니라..

만약, A라는 함수안에서 B라는 함수를 로드하고

B에서 작업중 다시 A를 로드...

즉, 함수가 종료되지 않고. 계속 다른함수를 로딩하면서

프로그램이 실행되면은 쓰레드값 같은게 증가하는 건가요?

증가한다면 그 증가량은 클까요 아님 작을까요?

만약 증가하지 않는다면, 왜 증가하지 않는걸까요?

그리고, 프로그래머는 위와같은 상황을 피하기 위해

어떠한 방법으로 프로그램하는거죠?

0huni의 이미지

주기적으로 파일을 copy하는 쉘스크립트를 작성할려고 합니다.

쉘로 만들어서 cron에 넣을렬고 하는데 특정 폴더의 일부폴더를 제외하고 전부 다 copy하는 그런건데...

cp /a/b/c /d/e/f
cp /g/h/i /j/k/l
...
...
...

이런식으로 하면 정상적으로 copy가 완료되었는지 확인할 방법이 없잖아요?
이걸 확인하면서 제대로 copy하는 그런 스크립트는 어떻게 작성하나요?

쉘스크립트 공부중인데 멋진(?) 쉘스크립트를 작성하고 싶습니다.

답변 부탁드립니다.

naddolki의 이미지

PHP에서 socket_select() 함수에 대한 질문좀..^ ^ ㅋ

int socket_select(array &read, array &write, array &except, int tv_sec [, int tv_usec])

제가 아는데로라면 ..
socket_select() 는 ..

소켓배열을 인자로 받아, 해당소켓의 입/출력버퍼를 경계하다가 ..
이에 변화가 생기면 변화가생긴 소켓들의 총개수를 반환하는 걸로
알고있습니다.

근데, 사실 이해가 잘 안가는 부분들이 있습니다.
대답좀 부탁드려욧 ㅠㅠ
웹상에서는 찾을 수 없는 답변이더군요.
아마 많은 분들이 궁금해 하시는 부분일 것 같아서 질문을 올립니다.

dalki0ju의 이미지

현재 열린 정규 파일의 정보를 알아오고 싶습니다.

현재 열려있는 정규파일의 정보를 알아오고 싶습니다.
어떤 파일이 현재 열려서 하드디스크 접근이 필요한지 말이죠.

그래서 시도한 방법이,
task_struct를 이용하는 것인데,
fd_array[i] 가 NULL 이 아닐 경우에,
fd_array[i]->f_mode 를 이용하려고 하는데,
자꾸 세그멘테이션 오류가 나는군요.
(fd_array[i] != NULL 일 경우에 cnt를 올려 총 열린 파일 개수는 잘 가져오더군요.)

dmesg를 보니,

"Unable to handle kernel paging request at virtual address 6b636f6f" 라는 에러 머세지가...

from_zicke의 이미지

mkdosfs 포멧 문제 윈도에서 사용시(제발 부탁드립니다.)

리눅스에서 mkdosfs 2.11으로 하드디스크 FAT32 포멧을 했는데요.

30기가로 리눅스에서

mkdosfs -F 32 /dev/hda1

포멧했더니 리눅스에서는 /etc/fstab에 용량이 30기가로 보이는데요

윈도에서는 파티션 정보는 30기가로 나오는데

탐색기로 보면 0.99Gb 나옵니다.

2.10버젼에서는 똑같이 포멧하면 1.99Gb로 나옵니다.

그리고 2.10버젼에서 -c 옵션 일반포멧시에는 30기가 포멧시 5시간 30분정도 걸리는데

2.11버젼에서는 3분정도 걸립니다.

차이가 왜이리 많이 나는지요? 쏘스 코드를 분석은 하고 있긴는 한데... ^^;;

운형의 이미지

개발시 소스 관리

여러사람이 공동으로 작업을 할 때 발생하는 문제 때문에 골머리를 앓고 있습니다.

특정 루틴으로 진입해서 소스를 수정했을 때, 기존 작업된 다른 루틴도 같은 부분의 소스를 사용하는 경우, 문제가 많이 생기는데요.

이런 부분 어떻게 해결하고 있는 지 궁금합니다.

조언좀 부탁드릴께요.

페이지

프로그래밍 QnA 구독하기