Subject: how to determine emulation mode from ps
To: None <current-users@netbsd.org>
From: Michael Richardson <mcr@sandelman.ottawa.on.ca>
List: current-users
Date: 08/24/2000 19:28:23
  I have a i386 system at my other work running 1.5-ish current.
  It used to run Linux (rh 4.2, upgraded to 6.2ish). I am upgrading.

  We are using 1.4.2 on other machines, so I have /emul/aout populated
with minimal things so that I can install precompiled packages.

  I also have a relatively complete /emul/linux, actually my Linux system
mounted. I have loopback mounted /dev, /tmp and /proc onto /emul/linux so
that Linux programs will see the NetBSD device numbers, and will use the
right /tmp dir. (This turns out to let me run Linux xemacs. Without a proper
/dev/null and/or /dev/zero xemacs goes into some kind of event loop)

  I use zsh as my shell and root's shell.
  I am pretty sure that I'm not running /emul/linux/bin/zsh, and I've
removed /emul/aout/bin/zsh. In fact, I replaced /emul/linux/bin/zsh with

#!/.././bin/sh

exec /.././bin/zsh.real $@

  (perhaps I should do the same with /bin/sh. Hmm)

  My problem is that when I su to root, and then type "suspend" it appears
that the parent shell never sees the signal. If I type exit, things are okay.

  I suspect that I'm not running native binaries everywhere. 
  How can I tell from ps what kind of emulation a process is?
  I know that I can tell by ktrace'ing it, but that isn't what I want to do.

   :!mcr!:            |  Cow#1: Are you worried about getting Mad Cow Disease?
   Michael Richardson |  Cow#2: No. I'm a duck.
 Home: mcr@sandelman.ottawa.on.ca. PGP key available.