>> Edit article
이름
제목
패스워드
지금 씨언어로 리눅스 쉘을 만들고 있는데요, 보통 bash나 ash같은 쉘을 보면, ls -al & 이렇게 치면 백그라운드로 돌아가고 ls -al > a.out 이렇게 치면 결과가 a.out로 저장이 되잖아요.. 지금 백그라운드로 돌아가는것 까지는 만들었는데, 리다이렉션이 걸리네요~ 리다이렉션 처리는.. 화면에 출력할것을 배열로 받아들어서 그것을 다시 화일에 저장해야 하는것 맞죠? 배열에 저장된것을 파일에 저장하는 것은 write함수를 쓰면 될것 같은데, 화면에 출력할 것을 배열에 저장하는 방법을 모르겠네요~ 참고로 지금까지 쉘을 만든 방법은.. while로 Esc키가 나올때까지 계속 돌게 만들어 놓고, 그 안에서 키보드로 명령을 받아들여서 그걸 배열에 저장하고, 배열에 들어있는것을 command 와 option 등등 모두 다시 나누어서 fork로 프로세스 하나 생성하고, 그안에서 execvp로 우리가 쓴 것을 실행하게 했어요.. 부모 프로세스는 자식 프로세스가 끈날때까지 기다리게 하고요 자식이 끈나면 다시 우리가 명령을 넣을때 까지 대기하게 만들었죠~~ 그런식으로 만들었는데, 리다이렉션에서 걸려가지고요~~ 질문의 요점은, 모니터에 출력될 내용을 어떤식으로 배열에 저장하는가? 이것이예요~ 혹시나 아시는분 계시면 꼭.. 알려주세요~
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved