On Thu, Jan 14, 2010 at 7:28 AM, patrick keshishian <pkesh...@gmail.com>
wrote:
> On Wed, Jan 13, 2010 at 2:07 AM, Sebastian Spies
> <sebastian.sp...@de-cix.net> wrote:
> [dd]
>> Could you
>> please comment on the following code?
>>
>> int main(int argc, char** argv)
>> {
>>        kvm_t *kd;
>>        struct kinfo_proc2 *info;
>>        int cnt;
>>
>>        if(argc != 2)
>>        {
>>                printf("Please provide pid\n");
>>                exit(1);
>>        }
>>
>>
>>        kd = kvm_open(NULL, NULL, NULL, KVM_NO_FILES, "error");
>>        if(!kd)
>>                exit(1);
>>
>>        if(cnt != 1)
>
> Not related to what you are asking about, but, you are checking cnt
> before it is set.
>
>
>>        {
>>                printf("No process found\n");
>>                exit(1);
>>        }
>>
>>        info = kvm_getproc2(kd, KERN_PROC_PID, atoi(argv[1]),
>> sizeof(struct kinfo_proc2), &cnt);
>>
>>        printf("%x\n",(double)info->p_cpticks);
>>
>>        exit(0);
>> }
>
>

And if you want to use this in a script, you might want to set a
different exit value for each error condition.  It's usually good
practice to send a numeric error code and let your script handle the
error itself.  By all means keep the message there, but don't make it
impossible to use in a script.

</offtopic>

Try info->p_pctcpu instead.

--
Aaron Mason - Programmer, open source addict
I've taken my software vows - for beta or for worse

Reply via email to