1
vxWorks 6.7에서 스크립트를 실행해야합니다. vxworks 5.5의 execute() 함수를 사용하여 수행 할 수 있습니다. 내가 신청하는이 솔루션은 다음 코드와 같이 표준 입력 리디렉션을 사용하는 것입니다 : 내가 읽기를 누락 (주석 임) 부분을 실행하고vxworks 6.7에서 스크립트를 실행하기 위해 stdin으로 리디렉션
newStdIn = open("myScript.txt",O_RDONLY,0644);
oldStdIn=ioGlobalStdGet(STD_IN);
ioGlobalStdSet(STD_IN, newStdIn);
/*Read file here and execute*/
ioGlobalStdSet(STD_IN,oldStdIn); /*Restore old stdIn*/
close(newStdIn);
.
fdScript = open ("myScript", O_RDONLY);
shellGenericInit ("INTERPRETER=Cmd", 0, NULL, &shellTaskName, FALSE, FALSE, fdScript, STD_OUT, STD_ERR);
do
taskDelay (sysClkRateGet());
while (taskNameToId (shellTaskName) != ERROR);
close (fdScript);
을하지만 스크립트를 처리하지 않고 새로운 쉘을 엽니 다 :
편집 : 다음과 같이 는 Vx 웍스 커널 프로그래머 가이드에 따르면, 스크립트를 실행하는 방법입니다. 이 문제는 내 응용 프로그램이 shellGenericInit을 호출 한 후에 아무 것도하지 않는다는 것입니다.
안녕하세요, 답변 해 주셔서 감사합니다. 나는 그것을 시도했다. 내가 직면 한 문제는 매우 구체적입니다. 문제는 shellGenericInit가 작동하지 않을 것입니다. 왜냐하면 쉘 생성이 시스템에서 비활성화 되었기 때문에 문제를 발견하는 데 시간이 걸렸습니다. 다시 한번 감사드립니다. – mjdev