백그라운드에서 출력또한 없이 실행하여라..
글쓴이: Seven.. / 작성시간: 금, 2004/04/09 - 12:33오전
abc 라는 프로그램을 실행할 때
./abc & 하면 백그라운드로 넘어가고 --(1)
./abc &> abc.txt 하면 모든 출력이 abc.txt로 저장되잖아요? --(2)
그런데 (2) 같이 하면 콘솔이 돌아오지 않고....그니까..
쉘이 안뜨는 상태가 되고요..
모든 출력을 abc.txt로 넣으면서 콘솔도 돌아오게..즉 백그라운드에서
돌리려면 어떻게 하면 될까요?
다른 프로그램 실행시 system("") 함수를 사용해서 실행하려고 하는데..
아 그리구요..
&>abc.txt 이런 옵션을 줬을 때..
평소와 똑같이 출력이 저장되나요?
평소에 화면에 뿌리던것과는 다르게 저장이 되서...
main 함수 시작부분에..
실행합니다. 어쩌구 저쩌구 이런걸 뿌리는 부분이 있는데
자꾸 그게 주기적으로 저장이 되서 이상하네요 ..ㄱ
File attachments:
첨부 | 파일 크기 |
---|---|
local.h | 444바이트 |
client.cpp | 1.77 KB |
server.cpp | 2.37 KB |
Forums:
이렇게..
출력을 포그라운드로 했을 시 뿌리는 화면입니다.
&> 를 사용했을 시 뿌리는 아니.. 저장되는 txt입니다.
뭐 숫자나 그런 건 말고요 하여간
왜자꾸 저 Server Start가저장되는지 모르겠네요...ㄱ
시작부분에 system("clear");
이것 때문일까요?
VENI VIDI VICI
질문이 에메합니다. 원하는게 뭔지 모르겠네요.
질문이 에메합니다.
원하는게 뭔지 모르겠네요.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
음.. ./abc > abc.txt &이게 아
음..
./abc > abc.txt &
이게 아닐까요? 물론 저도 모르는 문제입니다만.. 샤샤삭~(튄다.)
ㅡ_ㅡ;
셸에서 하시려면 다음과 같은 방법이 존재합니다.[b]nohup[/
셸에서 하시려면 다음과 같은 방법이 존재합니다.
nohup command
예를 들어 nohup ls 해보세요. 자세한 것은 man nohup.
nohup 소스를 보시면 도움이 되겠죠.
^^
질문이애매했군요;; 두가지질문이었는데요^^;;
처음 질문은 이겁니다.
프로그램을 백그라운드에서돌리면 바로 쉘이 돌아오잖아요..
그런데 백그라운드로 출력을 보내면
(이명령은 러닝 리눅스에서 본건데요..)
이렇게 쉘이 돌아오지 않습니다.
백그라운드에서돌리면서 출력을 다른 파일로 저장하고 싶다면
어떻게 해야할까요? 가 1번 질문이구요
출력을 저장하면;;
포그라운드에서실행 할때와 출력 내용이다르다는게 2번 질문이었네요^^
콘솔에서 man 한글이안나와서 설명을 못보고 있어요 nohup T_T
VENI VIDI VICI
이렇게하면 되지않을까요?]# nohup ./sever > a
이렇게하면 되지않을까요?
]# nohup ./sever > abc.txt &
이렇게하면 백그라운드로 실행되면서 abc.txt에 표준출력이 저장되죠.
다시 포그라운드로 가고 싶으시면
]# fg
screen이란것을 쓰면 더 좋다고 하는데.. . 그건 안써봐서 패쓰 -_-;
표준출력으로 결과를 계속 뿌려주는 프로그램일 경우..program
표준출력으로 결과를 계속 뿌려주는 프로그램일 경우..
program_name > log file_name &
이렇게 해주면 백그라운드에서 계속 지정한 파일로 쓰면서 실행되죠..
계속하다보면.. log file크기가 끝도 없이 늘어나는 문제가..ㅡㅡㅋ
원하는게 이게 맞으신가요?
컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러
Re: ^^
말씀하신 명령은 백그라운드로 돌리는게 아니라, ./server의 stdout과 stderr를 모두 server_error.txt로 저장하라는 의미의 redirection 입니다(bash 쉘인 경우).
Heejoon Lee
감사합니다^^
감사합니다 ^^;
뒤에 &를 써줘야하는거군요 ㅠ.ㅜ
& &> 이렇게 했더니에러가나서;; -_-\
머리가 나쁘면 평생고생을;;
근데 왜 시작하고 뿌려주는 로그가
계속 반복이될까요?
정상 실행 - 포그라운드 출력- 에서 나오지 않는 현상이
로그를 기록하면 나오니 너무 이상해요 -0- 당황스럽고;;
답답하네요^^;
너무궁금합니다.
Start Server..이 부문은
시작하고 메인함수 맨 앞쪽에 있는 것들인데..
그렇다고 시간이 같은걸 보면.. 한번 저장된 정보가 계속
뿌려지는 것 같은데요..
첨부를 올려봅니다
server를 실행하고client에서 ls 등의 명령을 돌려주는 프로그램인데요
메인 함수에서 한번 호출된 printf가 반복되니 너무너무 궁금해요 ㅠ.ㅜ
VENI VIDI VICI
아마도.. stdout과 stderr 두곳으로 같은 메세지를 보내기 때문
아마도.. stdout과 stderr 두곳으로 같은 메세지를 보내기 때문에..
&>하면 두가지 출력을 한 파일에 저장하니까 그런것 아닐까요...
라고 말하면서 슬금슬금 튄다.. (샤샤삭)
ㅡ_ㅡ;
Re: 백그라운드에서 출력또한 없이 실행하여라..
흠흠 걍 이렇게 하면 되는건데...요..
./abc &> abc.txt &
ㅠ.ㅜ
stdout 과 stderr를 다른곳으로 보내도 마찬가지에요;;
개요를 보면 저런 프로그램인데요.. -0-
Stdout을 파일로 보내면..
이렇게 나오고
Stdout을 그냥 출력하면
이렇게 잘 나오거든요 -_- 이해가 안되네요 ㅠ.,ㅜ
해결 방법이 없을까요?
VENI VIDI VICI
댓글 달기