libkysdk-system/man/proc/kdk_get_process_cpu_time.3

108 lines
3.3 KiB
Groff
Raw Permalink Normal View History

.TH "KDK_GET_PROCESS_CPU_TIME" 3 "Mon Sep 18 2023" "Linux Programmer's Manual" \"
.SH NAME
kdk_get_process_cpu_time - 获取某一进程的cpu时间
.SH SYNOPSIS
.nf
.B #include <libkyprocess.h>
.sp
.BI "extern char* kdk_get_process_cpu_time(int "proc_num ");"
.sp
Link with \fI\-lkyrtinfo\fP.
.SH "Detailed Description"
The main function of the interface is to obtain the CPU time of the specified process.
.PP
The argument
.I proc_num
is the PID of the process.
.SH "RETURN VALUE"
On success, returns the CPU time of the process of type char*, such as "58秒"; The returned string needs to be released by
.I free
.
.PP
On error, return
.BR NULL.
.SH EXAMPLES
.EX
#include "libkyprocess.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *run_time = kdk_get_process_running_time(841);
char *cpu_time = kdk_get_process_cpu_time(841);
char *cmd = kdk_get_process_command(841);
char *start_time = kdk_get_process_start_time(841);
printf("获取某一进程的CPU利用率%0.1f\n", kdk_get_process_cpu_usage_percent(841));
printf("获取某一进程的内存占用率:%0.1f\n", kdk_get_process_mem_usage_percent(841));
printf("获取某一进程的进程状态:%s\n", kdk_get_process_status(841));
printf("获取某一进程的进程端口号:%d\n", kdk_get_process_port(841));
printf("获取某一进程的启动时间:%s\n", start_time);
printf("获取某一进程的运行时间:%s\n", run_time);
printf("获取某一进程的CPU时间%s\n", cpu_time);
printf("获取某一进程的Command%s\n", cmd);
printf("获取某一进程的属主:%s\n", kdk_get_process_user(841));
free(run_time);
free(cpu_time);
free(cmd);
free(start_time);
char** pid = kdk_procname_get_process_infomation("systemd");
size_t index = 0;
while (pid[index])
{
printf("pid %s\n", pid[index]);
index ++;
}
kdk_proc_freeall(pid);
char** info = kdk_get_process_all_information();
size_t count = 0;
while (info[count])
{
printf("No. %d\t %s\n", count + 1, info[count]);
count ++;
}
kdk_proc_freeall(info);
char *name = kdk_get_process_name(1151571);
printf("name = %s\n", name);
free(name);
int id = kdk_get_process_id("systemd");
printf("pid %d\n", id);
return 0;
}
.SH "CONFORMING TO"
These functions are as per the withdrawn POSIX.1e draft specification.
The following functions are Linux extensions:
.BR kdk_get_process_name (),
.BR kdk_get_process_id (),
.BR kdk_get_process_cpu_usage_percent (),
.BR kdk_get_process_mem_usage_percent (),
.BR kdk_get_process_status (),
.BR kdk_get_process_port (),
.BR kdk_get_process_start_time (),
.BR kdk_get_process_running_time (),
.BR kdk_get_process_command (),
.BR kdk_get_process_user (),
.BR kdk_procname_get_process_infomation (),
.BR kdk_get_process_all_information ()
and
.BR kdk_proc_freeall ().
.SH "SEE ALSO"
.BR kdk_get_process_name (3),
.BR kdk_get_process_id (3),
.BR kdk_get_process_cpu_usage_percent (3),
.BR kdk_get_process_mem_usage_percent (3),
.BR kdk_get_process_status (3),
.BR kdk_get_process_port (),
.BR kdk_get_process_start_time (3),
.BR kdk_get_process_running_time (3),
.BR kdk_get_process_command (3),
.BR kdk_get_process_user (3),
.BR kdk_procname_get_process_infomation (3),
.BR kdk_get_process_all_information (3)
and
.BR kdk_proc_freeall (3).