Thanks rovf,
That would mostly work I think but beside the language barrier, I don't like relying on error messages that could vary from one implementation to another. But that's the best answer so far.
Thanks MadeInGermany,
My problem is that on some systems, there are some processes that I just don't see as a normal user (not only no permission, really don't see) so I cannot rely on ps. Take the following example:
It looks like process 1 does not exists but kill and sudo prove otherwise:
I wasn't sure if I should post it here of in the Shell Script category, but I figured it was definitely a newbie question.
I'm trying to write a script that will check for the existence of a specific file (or for any files within the directory) and then take specific actions. I've removed all... (2 Replies)
Hey all,
I have total new with shell scripting so I don't know if what I need to do even possible, here it is...for a duration of time (say...1 hour) I need to check for the existence of a particular file, if it exists then I will invoke a java program or I will continue to check until a)... (2 Replies)
Hello,
I have this process app.fcgi and a directory containing images. I'd like to ensure that only app.cgi can access those images and more generally that folder.Thanks! (1 Reply)
Hi
I want to check a particular file is available or not. But i know only the pattern of that file sat AB1234*.txt.I need the latest file name and it ll be used in the script. How can i do this using ls -ltr command.
Thanks,
LathishSundar V (2 Replies)
Hi,
I want to make a bash script which is running like :
1.sh http://www. google.com
and check if the url does exist printing a message.
I want to save the source code of this page in a file.
Could you help me ? (4 Replies)
Hi
I'm using the below command in shell script to check for file exists in the path
if
.....
fi
path and test are variables
path and the file exists but the commands inside if condition is executed (! operator used)
Is the above way of checking for file existence is correct?
... (4 Replies)
Hope someone can help me on this
In a directory ,files are dynamically generated.I need a script to do the following
if files are not received for more than 2 hours or if the received file is empty
then do something
How can I put that in a script.Thank you
eg. in cd /dir_name the... (13 Replies)
I'm on AIX. I have triggered an infinite loop process (to keep looking for input file availability for further process). At present only I can kill the process.
In case my colleague wants to kill the process for any reason, how do I provide permission to others to kill the process?
Currently... (3 Replies)
Discussion started by: krishmaths
3 Replies
LEARN ABOUT DEBIAN
kill
KILL(2) Linux Programmer's Manual KILL(2)NAME
kill - send signal to a process
SYNOPSIS
#include <sys/types.h>
#include <signal.h>
int kill(pid_t pid, int sig);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
kill(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION
The kill() system call can be used to send any signal to any process group or process.
If pid is positive, then signal sig is sent to the process with the ID specified by pid.
If pid equals 0, then sig is sent to every process in the process group of the calling process.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1
(init), but see below.
If pid is less than -1, then sig is sent to every process in the process group whose ID is -pid.
If sig is 0, then no signal is sent, but error checking is still performed; this can be used to check for the existence of a process ID or
process group ID.
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 suf-
fices when the sending and receiving processes belong to the same session.
RETURN VALUE
On success (at least one signal was sent), zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EINVAL An invalid signal was specified.
EPERM The process does not have permission to send the signal to any of the target processes.
ESRCH The pid or process group does not exist. Note that an existing process might be a zombie, a process which already committed termi-
nation, but has not yet been wait(2)ed for.
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.
NOTES
The only signals that can be sent to process ID 1, the init process, are those for which init has explicitly installed signal handlers.
This is done to assure the system is not brought down accidentally.
POSIX.1-2001 requires that kill(-1,sig) send sig to all processes that the calling process may send signals to, except possibly for some
implementation-defined system processes. Linux allows a process to signal itself, but on Linux the call kill(-1,sig) does not signal the
calling process.
POSIX.1-2001 requires that if a process sends a signal to itself, and the sending thread does not have the signal blocked, and no other
thread has it unblocked or is waiting for it in sigwait(3), at least one unblocked signal must be delivered to the sending thread before
the kill() returns.
Linux Notes
Across different kernel versions, Linux has enforced different rules for the permissions required for an unprivileged process to send a
signal to another process. In kernels 1.0 to 1.2.2, a signal could be sent if the effective user ID of the sender matched that of the
receiver, or the real user ID of the sender matched that of the receiver. From kernel 1.2.3 until 1.3.77, a signal could be sent if the
effective user ID of the sender matched either the real or effective user ID of the receiver. The current rules, which conform to
POSIX.1-2001, were adopted in kernel 1.3.78.
BUGS
In 2.6 kernels up to and including 2.6.7, there was a bug that meant that when sending signals to a process group, kill() failed with the
error EPERM if the caller did have permission to send the signal to any (rather than all) of the members of the process group. Notwith-
standing this error return, the signal was still delivered to all of the processes for which the caller had permission to signal.
SEE ALSO _exit(2), killpg(2), signal(2), tkill(2), exit(3), sigqueue(3), capabilities(7), credentials(7), signal(7)COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-09-15 KILL(2)