如何判断指定的进程是否存在
hbcb 2006-05-25 02:29:47 我用这样的方式:
if( kill(指定的进程号,SIGCHLD) == (-1) )存在;
else 不存在;
可以检测到部分,也就是以同样的用户名在不同的终端登陆所产生的进程,是可以检测到的,但以另外一个不同的用户名的进程就检测不到
比如:
test用户在终端tty1上产生进程 ID=1001
test用户在终端tty2上产生进程 ID=1002
my 用户在终端tty6上产生进程 ID=1006
假设这些进程都还存在的话,有结果:
tty1上 kill(1001,SIGCHLD) != (-1) //正确
tty1上 kill(1002,SIGCHLD) != (-1) //正确
tty1上 kill(1006,SIGCHLD) = (-1) //错误
tty2上 kill(1001,SIGCHLD) != (-1) //正确
tty2上 kill(1002,SIGCHLD) != (-1) //正确
tty2上 kill(1006,SIGCHLD) = (-1) //错误
tty6上 kill(1001,SIGCHLD) = (-1) //错误
tty6上 kill(1002,SIGCHLD) = (-1) //错误
tty6上 kill(1006,SIGCHLD) != (-1) //正确
请问该如何有效的检测指定的进程号是否存在呢?