오류 stty: '표준 입력': 장치에 부적절한 ioctl Kerberos 티켓을 얻을 수 없습니다. 무슨 뜻입니까?

오류 stty: '표준 입력': 장치에 부적절한 ioctl Kerberos 티켓을 얻을 수 없습니다. 무슨 뜻입니까?

나는 다음 명령을 실행했습니다.

nohup sh -c "echo $SU_PASSWORD | /afs/cs/software/bin/reauth; python -u ~/diversity-for-predictive-success-of-meta-learning/div_src/diversity_src/experiment_mains/main_diversity_with_task2vec.py --manual_loads_name diversity_ala_task2vec_hdb1_mio > $OUT_FILE 2> $ERR_FILE" > $PWD/main.sh.nohup.out$SLURM_JOBID &

약 3시간 후에 파일에 다음 오류가 출력됩니다 main.sh.nohup.out$SLURM_JOBID.

Password for brando9: stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device

Can't obtain kerberos tickets

이 오류가 무엇을 의미하는지 알고 싶습니다.

(그것도 해결하면 좋겠지만, 이 문제는 그게 다야.이미 실행 중인 nohup 프로세스에 새 명령을 보내거나 nohup에서 두 명령을 함께/동시에 실행하는 방법은 무엇입니까?먼저 분할 정복을 수행하고 오류가 무엇을 의미하는지 물어보는 것이 유용할 것이라고 생각했습니다)


관련 질문:

답변1

ioctl열린 파일 설명자를 통해 커널과 통신하는 포괄적인 방법입니다. 호출 자체는 가변 인수를 사용합니다. 매개변수가 올바른지 확인하는 것은 커널의 장치 드라이버에 달려 있습니다. 처음 2개의 매개변수는 파일 설명자와 명령 번호입니다.

원래 용도는 직렬 회선의 속도를 설정하고, 인터럽트 문자를 설정하고, 로컬 에코를 켜거나 끄는 것이었습니다. 이들 각각은 다른 명령 번호를 갖습니다.

사람들은 CD 꺼내기와 같은 명령을 추가했습니다.

일반 오류 코드를 생성하고 라이브러리 루틴을 추가하여 표시되는 "ioctl이 장치에 적합하지 않음" 메시지로 변환했습니다. 커널 드라이버는 직렬 회선에 CD를 꺼내라고 지시하거나 CD 판독기에 로컬 에코를 켜도록 요청하는 경우 이 기능을 사용합니다.

따라서 "오류가 무엇을 의미하는지 궁금합니다"라고 대답한다는 것은 일부 소프트웨어가 커널에 작업을 요청했고 커널이 "이 하드웨어 장치에는 적합하지 않습니다"라고 말하고 소프트웨어가 이를 보고했다는 의미입니다. 이 nohup명령은 일반적으로 연결된 모든 것에서 stdin 파일 설명자의 연결을 끊고 /dev/null에 다시 연결합니다. 따라서 이것은 stdin이 터미널에 연결되어 있다고 가정하고 터미널 크기를 요청하고 /dev/null의 장치 드라이버가 "나는 터미널이 아니기 때문에 내 크기가 무엇인지 말할 수 없습니다"라고 말하는 소프트웨어만큼 간단할 수 있습니다.

관련 정보