root can kill any program run by any user. Is it possible for a user to kill another user's program without using
Example: How can make user
foo kill program
x which is run by user
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
This is from the
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 send‐ ing and receiving processes belong to the same session.
So essentially, under normal circumstances, if you are not root (and have no way to become root or that other user, via sudo or
setuid programs), you cannot kill another user's process.
See Gilles answer at Why does bash ignore SIGTERM?
First, this isn't specific to bash. ATT ksh, dash and zsh behave the same way: they ignore SIGTERM and SIGQUIT during command line edition; as for mksh, it also doesn't quit but treats them like SIGINT.
Both the ksh manual and the bash manual justify ignoring SIGTERM in these terms:
so that kill 0 does not kill an interactive shell
kill 0 kills all processes in the process group that the shell is in¹. In a nutshell, the process group consists of all the processes running in the foreground on a terminal, or all the processes in a background or suspended job.