Unix%20Interview%20Questions%20and%20Answers
Question: Explain kill() and its possible return values.Answer: There are four possible results from this call:'kill()' returns 0. This implies that a process exists with the given PID, and the system would allow you to send signals to it. It is system-dependent whether the process could be a zombie. ?kill()? returns -1, ?errno == ESRCH? either no process exists with the given PID, or security enhancements are causing the system to deny its existence. (On some systems, the process could be a zombie.) ?kill()? returns -1, ?errno == EPERM? the system would not allow you to kill the specified process. This means that either the process exists (again, it could be a zombie) or draconian security enhancements are present (e.g. your process is not allowed to send signals to *anybody*). ?kill()? returns -1, with some other value of ?errno? you are in trouble! The most-used technique is to assume that success or failure with ?EPERM? implies that the process exists, and any other error implies that it doesn't. An alternative exists, if you are writing specifically for a system (or all those systems) that provide a ?/proc? filesystem: checking for the existence of '/proc/PID' may work. |
Is it helpful?
Yes
No
Most helpful rated by users:
- How are devices represented in UNIX?
- What is 'inode'?
- What difference between cmp and diff commands?
- Explain the steps that a shell follows while processing a command.
- Brief about the directory representation in UNIX