当前位置: 技术问答>linux和unix
如何获得指定进程名执行个数
来源: 互联网 发布时间:2016-02-16
本文导语: 进程fork后,会出现多个同名进程,为了控制个数,如何获得他们的个数,有一个比较笨的方法是ps -ef|grep processname,然后重定向出来,再去取。肯定还有比较聪明的办法,请大家指教。 | 用...
进程fork后,会出现多个同名进程,为了控制个数,如何获得他们的个数,有一个比较笨的方法是ps -ef|grep processname,然后重定向出来,再去取。肯定还有比较聪明的办法,请大家指教。
|
用一个信号量,或则写个文件,管道,共享内存等等都可以。
|
肯定是在fork的时候,就考虑到数量吧,不可能fork完了,去ps,然后再控制吧,我是这么想的.
我用perl写过一个控制数量的,不知道对你有没有用
$sem_msc = new IPC::Semaphore(111111, 1, 0600 | IPC_CREAT );
$sem_msc->setval( 0 ,5);
for(my $i=0;$iop(0, -1, 0);
my $pid=fork();
if($pid ==0){
......
$sem_msc->op(0, 1, 0);
exit(0);
}
}
别忘了给分
我用perl写过一个控制数量的,不知道对你有没有用
$sem_msc = new IPC::Semaphore(111111, 1, 0600 | IPC_CREAT );
$sem_msc->setval( 0 ,5);
for(my $i=0;$iop(0, -1, 0);
my $pid=fork();
if($pid ==0){
......
$sem_msc->op(0, 1, 0);
exit(0);
}
}
别忘了给分