int killpg(int pgrp, int sig);
描述killpg() sends the signal sig to the process group pgrp. See signal(7) for a list of signals. If pgrp is 0, killpg() sends the signal to the sending process’s process group.
(POSIX says: If pgrp is less than or equal to 1, the behaviour is undefined.)
For a process to have permission to send a signal it must either be privileged (under Linux: have the CAP_KILL capability), or the real or effective user ID of the sending process must equal the real or saved set-user-ID of the target process. In the case of SIGCONT it suffices when the sending and receiving processes belong to the same session.
返回值On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
|EINVAL||Sig is not a valid signal number.|
|EPERM||The process does not have permission to send the signal to any of the target processes.|
|ESRCH||No process can be found in the process group specified by pgrp.|
|ESRCH||The process group was given as 0 but the sending process does not have a process group.|