소스에서 select 하고 fd_set으로 값 가져올려고 하면
select만 하면 이상한 값을 가져 옵니다.
그냥 실행파일 실행시키면 잘되는데..
crontab으로 실행하면 이상한 값을 가져 오네요..
PATH를 잡아주면 될것 같은데.. 어떤 Path를 잡아줘야 할지 모르겠네요..ㅠㅠ
제가 질문하는 방식이 잘못됬었네요..
소스가 회사에 있어서 전체 소스를 못적어서 죄송합니다.
리눅스, gcc이고, c언어, 입니다.
프로그램이 처음 실행될때 fd = open(const char *pathname, int flags)에서 fd를 저장해 놓고
나중에 select 하면서 fd를 이용하는데 최초에 open할때부터 pathname이 잘 설정됬는지 부터 다시 확인해 봐야 겠네요..
근데 crontab을 안쓰고 sh로 쓰면 잘되서 혹시 따른 환경PATH를 설정해야 하는건지 궁금해서요..
답변 주셔서 너무 감사드립니다.
...
shell의 select인지 system call인지..
잘 모르겠군요.
소스를 보여주세요
없음
소스에서 select 하고
소스에서 select 하고 fd_set으로 값 가져올려고 하면
select만 하면 이상한 값을 가져 옵니다.
그냥 실행파일 실행시키면 잘되는데..
crontab으로 실행하면 이상한 값을 가져 오네요..
PATH를 잡아주면 될것 같은데.. 어떤 Path를 잡아줘야 할지 모르겠네요..ㅠㅠ
질문이 너무 어렵습니다.
질문을 하실때
소스코드는 없더라도 어떤 랭귀지인지 어떤 시스템인지
컴파일러는 뭔지... 못해도 이정도는 적어줘야 하지 않을까요?
C에서 select라면.......
fd는 file descriptor로
커널이 프로세스마다 fdtable를 따로 할당해주고
거기에 등록된것 일텐데...
환경변수 PATH와는 전혀 관계가 없습니다.
하지만 코드 fd = open(const char *pathname, int flags)에서
pathname이 정상적이지 않다면 정상적인 fd값을 얻어오지 못하겠죠...
없음
죄송합니다.
제가 질문하는 방식이 잘못됬었네요..
소스가 회사에 있어서 전체 소스를 못적어서 죄송합니다.
리눅스, gcc이고, c언어, 입니다.
프로그램이 처음 실행될때 fd = open(const char *pathname, int flags)에서 fd를 저장해 놓고
나중에 select 하면서 fd를 이용하는데 최초에 open할때부터 pathname이 잘 설정됬는지 부터 다시 확인해 봐야 겠네요..
근데 crontab을 안쓰고 sh로 쓰면 잘되서 혹시 따른 환경PATH를 설정해야 하는건지 궁금해서요..
답변 주셔서 너무 감사드립니다.
댓글 달기