HP-UX
All,
I work in a manufacturing environment where some users connect to our Progress-based system with wireless RF units (Bar-code). Sometimes they go out of range and get disconnected but their session remains alive (ghost sessions). This sometimes causes record lock problems and is a pain.
1) Is there a way to identify such ghost sessions?
Also, the sys-admins would like to be able to identify who is logged in with RF units. I came up with the idea of having the users' profile launch a backfround ksh script that does nothing(!) but remain in memory for the duration of the session. The name of the script would look something like: "RF-joeblow.sh".
We would generate and run this script as a background job when the user logs in and selects the RF option from his menu. This way we can ps|grep for the 'RF' keyword and see who our RF users are.
2) What command should I put inside this script to have it do nothing but remain active until the session ends. I thought about "sleep 100000" but I am not sure how cpu-consuming this could be? Any ideas?
Yes, zombie. Sometimes the RF units will go out of range of the wi-fi routers. This causes the Units to disconnect from the system. Most of the times Unix will see they are no longer active and shut their session. But not always. In some cases, if the user was in the middle of a Progress database transaction, this locks records. Since the user cannot resume his lost session, it just hangs in this state until a sys-admin manually kills this session.
If they are zombie processes the ps -ef command will show them as a zombie. You can grep for that.
ps -ef | grep zombie
Sounds like you are using something like UCAD/Advantecs/Service Suite. Each process created on the server side has to be connected using the exact same executable image name, correct? Can you see the image name in the commandline they are currently running --- using the ps -ef command?