Hallo Alexandre,

no, I don't have binfmt_misc installed.

But reading the exec manpage, it tells that first the file is tried
with execve as an executable, and if it is no executable as a script
with /bin/sh.

The strace looks according:
4141  fork()                            = 4146
4141  write(8, "\t\0\0\0", 4 <unfinished ...>
4146  execve("/cdroms/bb-9805/trees.pdf",
["/cdroms/bb-9805/trees.pdf", "\"J:\\bb-9805\\trees.pdf\""], \
        [/* 49 vars */]) =  -1 ENOEXEC (Exec format error)
                               ^^^^^^^
4146  execve("/bin/sh", ["/bin/sh", "/cdroms/bb-9805/trees.pdf",\
              ^^^^^^^^
         "\"J:\\bb-9805\\trees.pdf\""], [/* 49 vars */]) = 0
4146  brk(0)                            = 0x80c204c
4146  open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT \
        (No such file or directory)
... and later:
4146  read(4, "%PDF-1.2\r%\342\343\317\323\r\n1004 0 obj\r<< \r/"\
        ..., 80) = 80
4146  fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
4146  mmap(NULL, 4096, PROT_READ|PROT_WRITE, \
        MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40019000
4146  ioctl(2, TCGETS, {B9600 opost isig icanon echo ...}) = 0
4146  write(2, "/cdroms/bb-9805/trees.pdf: /cdro"..., 81) = 81
4146  munmap(0x40019000, 4096)          = 0
4146  _exit(126)                        = ?
4141  <... read resumed> 0x4105fd1c, 4) = ? ERESTARTSYS (To be restarted)
4141  --- SIGCHLD (Der Kind-Prozeß ist beendet) ---

So we don't get the exit status of the /bin/sh call.

Bye

Uwe Bonnes                [EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--

Reply via email to