리눅스c에서 fork로 생성한 자식 프로세스의 PID를 가지고 존재 여부만 확인할 수 있는 방법이 있나요? 질문이 성의없지만 간단한 답변이라도 부탁드립니다 좋은 주말되세요~ ^^;
kill() 함수로 해당 PID에 0번 시그널을 보내면 됩니다. kill()의 signo 값을 0으로해서 보내면 실제로 신호는 보내지 않고 해당 프로세스가 존재하는지만 체크를 합니다. 그래서 존재하지 않는다면 kill은 -1을 리턴하죠.
그런데 한가지 문제가 OS가 PID를 재활용하기 때문에 프로세스가 있는것처럼 보여도 그것이 자식 프로세스라고 확실하다는 보장은 없습니다. 여기에 대한 방법은 다른분께 패스!~
====================== BLOG : http://superkkt.com
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
kill() 함수로 해당
kill() 함수로 해당 PID에 0번 시그널을 보내면 됩니다. kill()의 signo 값을 0으로해서 보내면 실제로 신호는 보내지 않고 해당 프로세스가 존재하는지만 체크를 합니다. 그래서 존재하지 않는다면 kill은 -1을 리턴하죠.
그런데 한가지 문제가 OS가 PID를 재활용하기 때문에 프로세스가 있는것처럼 보여도 그것이 자식 프로세스라고 확실하다는 보장은 없습니다. 여기에 대한 방법은 다른분께 패스!~
======================
BLOG : http://superkkt.com
======================
BLOG : http://superkkt.com
댓글 달기