Ich habe ein Perl-Skript in einer AIX-Box ausgeführt."Ungültige ioctl für Gerät"
Das Skript versucht, eine Datei aus einem bestimmten Verzeichnis zu öffnen, und es kann die Datei nicht lesen, weil die Datei keine Leseberechtigung hat, aber ich bekomme einen anderen Fehler, nämlich inappropriate ioctl for device
.
Sollte es nicht etwas wie no read permissions for file
oder etwas ähnliches sagen?
Was bedeutet diese inappropriate ioctl for device
Nachricht?
Wie kann ich es beheben?
EDIT: Dies ist, was ich gefunden habe, als ich strace
getan habe.
open("/local/logs/xxx/xxxxServer.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 4 _llseek(4, 0, [77146], SEEK_END) = 0 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffc14f8) = -1 ENOTTY (Inappropriate ioctl for device)
Wenn Sie die Berechtigungen vermuten - haben Sie bereits versucht, die Leseberechtigungen für die fragliche Datei festzulegen? –
Response to update: Das ist offen für schreiben/anhängen, nicht lesen, und es ist erfolgreich. – hobbs
Ja, aber ioctl schlägt für dieses Dateihandle fehl. irgendeine idee warum? – someguy