coleman@cam.nist.gov (Sean Sheridan Coleman X5672) (01/23/91)
I want to be able to determine if another process has control of an RS232 port on a Alm Board on a Sun4. I am writing a program to gather data from a device that is connected via RS-232. I want to deny access to the program if another program is accessing the port currently. I want to know (1) how to tell if a port is being used currently for a login port. ie.. some has log in using the port (2) how to tell if a process has control of a port for out going communication such as kermit? I use a simplistic tty driver for comunicating to the ports. Is there something I should add to the driver code to allow other programs to do what I have asked about above? Thanks Sean Coleman NIST coleman@bldrdoc.gov
mike (Michael Stefanik) (01/23/91)
In article <6763@fs1.cam.nist.gov> cam.nist.gov!coleman (Sean Sheridan Coleman X5672) writes:
:I want to be able to determine if another process has control
:of an RS232 port on a Alm Board on a Sun4. I am writing a
:program to gather data from a device that is connected via
:RS-232. I want to deny access to the program if another program
:is accessing the port currently.
If you're worried about login processes, you could read /etc/utmp (but if
this is a special device, I doubt that's the case); the slicker solution
would be to read the namelist in /unix, and look through the proc table.
A similar (but considerably slower) solution would be to popen() ps -t ttyxx
and see if there is anything attached to it. If you're looking for any
process that has simply done an open() on the port, though, that's another
story.
--
Michael Stefanik, Systems Engineer (JOAT), Briareus Corporation
UUCP: ...!uunet!bria!mike
--
technoignorami (tek'no-ig'no-ram`i) a group of individuals that are constantly
found to be saying things like "Well, it works on my DOS machine ..."