Unix Singaling

ok let me set up the env. for you.

user1
uid 333
gid 444

user2
uid 555
gid 444

user1 writes a prog (prog1) that listenes for singales to start another program (prog2).
user1 executes prog1 and prog2 (they are always running like daemons)
user2 invokes prog1 which sends singals to prog2.

if user2's program is sending singals to prog2 program.

shouldnt prog2 be able to operate properly being they are in the same GID (provided the permissions were properly in place)?

---

we have a software vendor that has these things called scheduleers that wake up when they recieve a single from another piece of their software. but they say all users have to have the same UID, and that unix singaling is always based on UID and that GID can not be used instead of everyone haveing the same UID.

This does not make any sense and i am of the stong opinion that they poorly coded the software to have a multiuser env (100+ 200+ 500+ users) systems all operating under the same uid and gid to use thier software.

Signals are sent via the kill() system call. To send a signal to another process, the sending process must own the target process. Or the sending process must be root. Gid's have no bearing or the situation.

You can use an suid program to allow any user to send the signals. This sort of thing is the reason suid programs exist.

Suid programs have been discussed here often. Search for suid.