killing a process

I can kill running processes on my linux red hat system using ctrl-c but cannot do it from command line of another terminal using kill -2 pid. Although I can kill them from command line using kill -9 pid and other signals. I would like to do it using the kill -2 pid.
Thanks for your suggestions

Does

kill -SIGINT <pid>

work? I am assuming that SIGINT may not be == 2 on your box.

my bad kill -int <pid> is the correct command, which you say does not work

kill -SIGINT pid does not work, I get error saying "SIGINT unknown signal". then I typed kill -l to see list of options. Among several options were INT and TERM.
kill -TERM PID killed the process and so did kill -9 pid. But kill -2 pid and kill -INT pid fail. kill -HUP pid also works.
It maybe that all the kill options are not active on my system? Thanks for your response.

With the cmd line kill tool the symbols are INT, TERM, HUp, QUIT etc, as in the SIGxxx without the SIGxxx.

Any process can choose to ignore signals if it so wants (apart from 9).

You still need permission to send a signal, trying with signal zero will tell you if you have those permissions.

This is not true.

Sending signal 0 to process will indicate only ' whether a process is alive or not and not about the permissions the users has with respect to the process '.

When a normal user sends signal to a process which is running as process owned by ' root ' ALIVE status ( indicating that the process is running ) would be returned.

Solaris 10 does the following:

bash-3.00$ kill -0 515
bash: kill: (515) - Not owner

Looks like a permissions thing to me.

In the case where either the process does not exists, or the user does not have the required permissions kill will exit > 0 . There is nothing to require any more information than this in POSIX. In general however the reason will be output to stderr.