프로그래밍 QnA

nuri의 이미지

fork 를 이용한 filecopy

안녕하세요

fork 를 이용해서 filecopy 를 할려고 합니다.
문자열만 입력된 파일이고 영어 소문자만 들어가 있습니다.

childe process 에는 소문자를 -> 대문자로
parent process 에는 소문자 그대로 output 파일에 내용을 복사
하는 프로그램 입니다.

inputfile 내용이 abcdefg 이면 outputfile 내용은
abCdeFG 이런식으로 출력하는 겁니다.

프로그램에 잼병이라 참 힘드네요
코드를 짜긴 했는데 output 결과가 뒤죽박죽 지 멋대로 나옴니다
ㅠ_ㅠ

[code:1]
#include <stdio.h>

leilei의 이미지

shell script에서 이전 달 스트링 구하기

#! /bin/sh

CUR_YEAR=$(date +%Y)
CUR_MON=$(date +%m)

PREV_MON=`expr $CUR_MON - 1`
echo $CUR_YEAR $PREV_MON

이렇게 했더니 200402가 아니라 20042가 구해지네요.. ㅠ,.ㅠ

바로 지난 달에 만들어진 폴더를 지울려구 하는데요..
폴더 이름이 년도,달,날짜가 줄줄이 붙어서 만들어 집니다..
그래서 지금이 3월이니까..

rm -f 200402*

요렇게 지울려고 하는데 바로 지난달 스트링을 구하는게 어렵네요.. ㅠ,.ㅠ
php면 편하게 할것 같은데.. bash(sh)로 할려니 잘 모르겠네요..

js_beginning의 이미지

cgi 액세스 에러 부탁합니다.

index.html을 실행시켜 action 값으로 aaa.pl로 이동하는데
이동시에 이와같은 에러가 발생합니다.
퍼미션도 잘처리 했는데.. 하루종일 이 에러만 나는군요
어떻게 처리해야 할지 도저히 감이 안잡힙니다.
다른 pl파일들은 다 웹에서도 CRT모드에서도 잘보이는데 이 파일을 실행
시켰을때 이런 에러가 나는 이유를 모르겠습니다.
부탁 드립니다.

서버의 내부 에러

서버의 내부에서 에러 또는 설정상의 문제가 발생했기 때문에, 리퀘스트를 처리할 수 없었습니다. 이 디렉토리에의 CGI 액세스가 유효하게 되고 있는지 어떤지, 서버의 관리자에게 확인해 주십시오.

sunbee의 이미지

multi-thread, nonblocking 소켓.. ㅠㅠ

구성

			main () 
			{
				nonblocking mode socket 생성

				while(1) {
					cs = accept(...);
					pthread_create(&p_thread, NULL, work_thread, (void *)&cs);
				}
			}
			
			void *work_thread(void *data)
			{	
				.
				.
				.
		        do {
		            read_size = read (cs, buf, 100);
		            total_size += read_size;
		        } while (total_size < 100);
			}			

서버가 이런식으로 구성이 됩니다.

nonblocking mode 소켓일때

notunix의 이미지

thread 최대 생성갯수

스레드로 프로그램을 작성해보고 있는데요
p4에 512메가 redhat9.0인 컴퓨터인데요
이상하게 254개까지만 만들어지고 그 이상은 만들어 지지 않네요

ulimit -a 로 확인해보면
core file size (blocks, -c) 0
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
max user processes (-u) 2047

그리고 /proc/sys/kernel/threads-max
여기서 확인해보면 4095 가 되어 있거든요

무조건 thread 를 만드는 프로그램을 컴파일해서

kernelbomb의 이미지

소켓프로그래밍 - 구조체 보내기...

안녕하세요?

UNP를 보고 공부하고 있는데요.

숫자의 경우 UNP에선 문자로 만들어 보내던지 빅엔디언으로 넷똑에

보내고 받을 때는 호스트에 바이트오더에 맞게 받으면 된다고 하는데요.

아래 소스를 실행시키면 이상하게 동작합니다.

서버측 보내는 프로그램
[code:1] void str_echo(int sockfd)
{
ssize_t n;
struct args args;
struct result result;

for (;;)
{
if ((n = readline(sockfd, &args, sizeof(args))) == 0)

epilogue의 이미지

포팅에서 endian 문제입니다.

Big Endian System (SPARC) 에서 Little Endian System (X86) 으로 포팅을 하고 있습니다.
일단 통신 부분의 Endian 문제는 해결을 하였습니다.
다른 부분에서는 특별한 문제가 발생하지는 않는지요...

통신 부분에서야 네트워크 오더를 호스트 오더를 바꿔주는 작업이 필요하겠지만, Endian 문제는 휘발성메모리에서의 문제인지라...
하나의 호스트에서는 발생하지 않는다고 개인적으로 생각하고 있었거든요.
그런데 왠지 다른부분에도 문제가 발생할 것만 같은 예감이 들어서요.

meconfidence의 이미지

쓰레드 관련 질문 ( 인자 넘기기 )

main -> function(쓰레드생성 & detach) -> 쓰레드
로 인자를 넘기는 데,
usleep ( or sleep )을 주지 않으면 인자가 잘 안넘어가더라구요..
인자가 잘 안넘어 가는 이유를 알고싶고, sleep을 쓰지 않는 다른 방법이 있으시면 가르켜주세요.(단 join이 아닌 detach로 해야만 합니다.)
다음은 수도 코드 입니다.
가르켜 주시면 한수 배우겠습니다. :D

[code:1]main()
{
char *a[2] = {"asdf","1234"};
char *b[2] = {"bbbb","0000"};

peccavi의 이미지

core dump 디버깅시...

안녕하세요.
코어 덤프 파일로 디버깅을 하는데

Quote:
[peccavi@sun ee]$ gdb -c core.7725
GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
Core was generated by `./test'.
Program terminated with signal 6, Aborted.
psjcap의 이미지

원하는 thread로만 signal보내기..

외부 프로세스에서 다른 프로세스로 시그날을 보내는데..
이 시그날을 특정 thread에서만 받게 하고 싶습니다..
별도 signal handler을 달지 않고..
thread가 대기하고 있다가 signal을 처리하도록 하려구요..

signal mask를 잘 설정하면 어찌저찌 될 것도 같은데..
잘 되질 않네요..ㅠㅠ

혹시 가능한 방법이 있을까요..??

페이지

프로그래밍 QnA 구독하기