Unix 면접 질문과 답변
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. |
복습용 저장
이 항목을 북마크하거나, 어렵게 표시하거나, 복습 세트에 넣을 수 있습니다.
도움이 되었나요? 예 아니요
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